windowscodecs: Return proper error codes in unneeded BMP decoder methods.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2007 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27
28 cpp_quote("#include <olectl.h>")
29
30 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
31 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
33 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
34 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
35
36 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
37 cpp_quote("#undef FindText")
38 cpp_quote("#endif")
39
40 typedef enum {
41     POINTER_GRAVITY_Left,
42     POINTER_GRAVITY_Right,
43     POINTER_GRAVITY_Max = 2147483647
44 } POINTER_GRAVITY;
45
46 typedef enum {
47     CONTEXT_TYPE_None,
48     CONTEXT_TYPE_Text,
49     CONTEXT_TYPE_EnterScope,
50     CONTEXT_TYPE_ExitScope,
51     CONTEXT_TYPE_NoScope,
52     MARKUP_CONTEXT_TYPE_Max = 2147483647
53 } MARKUP_CONTEXT_TYPE;
54
55 typedef enum {
56     ELEM_ADJ_BeforeBegin,
57     ELEM_ADJ_AfterBegin,
58     ELEM_ADJ_BeforeEnd,
59     ELEM_ADJ_AfterEnd,
60     ELEMENT_ADJACENCY_Max = 2147483647
61 } ELEMENT_ADJACENCY;
62
63 typedef enum {
64     MOVEUNIT_PREVCHAR,
65     MOVEUNIT_NEXTCHAR,
66     MOVEUNIT_PREVCLUSTERBEG,
67     MOVEUNIT_NEXTCLUSTERBEG,
68     MOVEUNIT_PREVCLUSTEREND,
69     MOVEUNIT_NEXTCLUSTEREND,
70     MOVEUNIT_PREVWORDBEG,
71     MOVEUNIT_NEXTWORDBEG,
72     MOVEUNIT_PREVWORDEND,
73     MOVEUNIT_NEXTWORDEND,
74     MOVEUNIT_PREVPROOFWORD,
75     MOVEUNIT_NEXTPROOFWORD,
76     MOVEUNIT_NEXTURLBEG,
77     MOVEUNIT_PREVURLBEG,
78     MOVEUNIT_NEXTURLEND,
79     MOVEUNIT_PREVURLEND,
80     MOVEUNIT_PREVSENTENCE,
81     MOVEUNIT_NEXTSENTENCE,
82     MOVEUNIT_PREVBLOCK,
83     MOVEUNIT_NEXTBLOCK,
84     MOVEUNIT_ACTION_Max = 2147483647
85 } MOVEUNIT_ACTION;
86
87 typedef enum _SELECTION_TYPE {
88     SELECTION_TYPE_None,
89     SELECTION_TYPE_Caret,
90     SELECTION_TYPE_Text,
91     SELECTION_TYPE_Control,
92     SELECTION_TYPE_Max = 2147483647
93 } SELECTION_TYPE;
94
95 interface IHTMLDocument2;
96 interface IHTMLStyleSheetsCollection;
97 interface IHTMLFrameBase;
98
99 /*****************************************************************************
100  *    IHTMLFiltersCollection interface
101  */
102 [
103     odl,
104     oleautomation,
105     dual,
106     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
107 ]
108 interface IHTMLFiltersCollection : IDispatch
109 {
110     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
111     HRESULT length([retval, out] LONG *p);
112
113     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
114     HRESULT _newEnum([retval, out] IUnknown **p);
115
116     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
117     HRESULT item(
118         [in] VARIANT *pvarIndex,
119         [retval, out] VARIANT *pvarResult);
120 }
121
122 [
123     version(4.0),
124     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
125 ]
126 library MSHTML
127 {
128
129 importlib("stdole2.tlb");
130
131 /*****************************************************************************
132  *    IHTMLStyle interface
133  */
134 [
135     odl,
136     oleautomation,
137     dual,
138     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
139 ]
140 interface IHTMLStyle : IDispatch
141 {
142     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
143     HRESULT fontFamily([in] BSTR v);
144
145     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
146     HRESULT fontFamily([retval, out] BSTR *p);
147
148     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
149     HRESULT fontStyle([in] BSTR v);
150
151     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
152     HRESULT fontStyle([retval, out] BSTR *p);
153
154     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
155     HRESULT fontVariant([in] BSTR v);
156
157     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
158     HRESULT fontVariant([retval, out] BSTR *p);
159
160     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
161     HRESULT fontWeight([in] BSTR v);
162
163     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
164     HRESULT fontWeight([retval, out] BSTR *p);
165
166     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
167     HRESULT fontSize([in] VARIANT v);
168
169     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
170     HRESULT fontSize([retval, out] VARIANT *p);
171
172     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
173     HRESULT font([in] BSTR v);
174
175     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
176     HRESULT font([retval, out] BSTR *p);
177
178     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
179     HRESULT color([in] VARIANT v);
180
181     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
182     HRESULT color([retval, out] VARIANT *p);
183
184     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
185     HRESULT background([in] BSTR v);
186
187     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
188     HRESULT background([retval, out] BSTR *p);
189
190     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
191     HRESULT backgroundColor([in] VARIANT v);
192
193     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
194     HRESULT backgroundColor([retval, out] VARIANT *p);
195
196     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
197     HRESULT backgroundImage([in] BSTR v);
198
199     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
200     HRESULT backgroundImage([retval, out] BSTR *p);
201
202     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
203     HRESULT backgroundRepeat([in] BSTR v);
204
205     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
206     HRESULT backgroundRepeat([retval, out] BSTR *p);
207
208     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
209     HRESULT backgroundAttachment([in] BSTR v);
210
211     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
212     HRESULT backgroundAttachment([retval, out] BSTR *p);
213
214     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
215     HRESULT backgroundPosition([in] BSTR v);
216
217     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
218     HRESULT backgroundPosition([retval, out] BSTR *p);
219
220     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
221     HRESULT backgroundPositionX([in] VARIANT v);
222
223     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
224     HRESULT backgroundPositionX([retval, out] VARIANT *p);
225
226     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
227     HRESULT backgroundPositionY([in] VARIANT v);
228
229     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
230     HRESULT backgroundPositionY([retval, out] VARIANT *p);
231
232     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
233     HRESULT wordSpacing([in] VARIANT v);
234
235     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
236     HRESULT wordSpacing([retval, out] VARIANT *p);
237
238     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
239     HRESULT letterSpacing([in] VARIANT v);
240
241     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
242     HRESULT letterSpacing([retval, out] VARIANT *p);
243
244     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
245     HRESULT textDecoration([in] BSTR v);
246
247     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
248     HRESULT textDecoration([retval, out] BSTR *p);
249
250     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
251     HRESULT textDecorationNone([in] VARIANT_BOOL v);
252
253     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
254     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
255
256     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
257     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
258
259     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
260     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
261
262     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
263     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
264
265     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
266     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
267
268     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
269     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
270
271     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
272     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
273
274     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
275     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
276
277     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
278     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
279
280     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
281     HRESULT verticalAlign([in] VARIANT v);
282
283     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
284     HRESULT verticalAlign([retval, out] VARIANT *p);
285
286     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
287     HRESULT textTransform([in] BSTR v);
288
289     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
290     HRESULT textTransform([retval, out] BSTR *p);
291
292     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
293     HRESULT textAlign([in] BSTR v);
294
295     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
296     HRESULT textAlign([retval, out] BSTR *p);
297
298     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
299     HRESULT textIndent([in] VARIANT v);
300
301     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
302     HRESULT textIndent([retval, out] VARIANT *p);
303
304     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
305     HRESULT lineHeight([in] VARIANT v);
306
307     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
308     HRESULT lineHeight([retval, out] VARIANT *p);
309
310     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
311     HRESULT marginTop([in] VARIANT v);
312
313     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
314     HRESULT marginTop([retval, out] VARIANT *p);
315
316     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
317     HRESULT marginRight([in] VARIANT v);
318
319     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
320     HRESULT marginRight([retval, out] VARIANT *p);
321
322     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
323     HRESULT marginBottom([in] VARIANT v);
324
325     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
326     HRESULT marginBottom([retval, out] VARIANT *p);
327
328     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
329     HRESULT marginLeft([in] VARIANT v);
330
331     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
332     HRESULT marginLeft([retval, out] VARIANT *p);
333
334     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
335     HRESULT margin([in] BSTR v);
336
337     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
338     HRESULT margin([retval, out] BSTR *p);
339
340     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
341     HRESULT paddingTop([in] VARIANT v);
342
343     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
344     HRESULT paddingTop([retval, out] VARIANT *p);
345
346     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
347     HRESULT paddingRight([in] VARIANT v);
348
349     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
350     HRESULT paddingRight([retval, out] VARIANT *p);
351
352     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
353     HRESULT paddingBottom([in] VARIANT v);
354
355     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
356     HRESULT paddingBottom([retval, out] VARIANT *p);
357
358     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
359     HRESULT paddingLeft([in] VARIANT v);
360
361     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
362     HRESULT paddingLeft([retval, out] VARIANT *p);
363
364     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
365     HRESULT padding([in] BSTR v);
366
367     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
368     HRESULT padding([retval, out] BSTR *p);
369
370     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
371     HRESULT border([in] BSTR v);
372
373     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
374     HRESULT border([retval, out] BSTR *p);
375
376     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
377     HRESULT borderTop([in] BSTR v);
378
379     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
380     HRESULT borderTop([retval, out] BSTR *p);
381
382     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
383     HRESULT borderRight([in] BSTR v);
384
385     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
386     HRESULT borderRight([retval, out] BSTR *p);
387
388     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
389     HRESULT borderBottom([in] BSTR v);
390
391     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
392     HRESULT borderBottom([retval, out] BSTR *p);
393
394     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
395     HRESULT borderLeft([in] BSTR v);
396
397     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
398     HRESULT borderLeft([retval, out] BSTR *p);
399
400     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
401     HRESULT borderColor([in] BSTR v);
402
403     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
404     HRESULT borderColor([retval, out] BSTR *p);
405
406     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
407     HRESULT borderTopColor([in] VARIANT v);
408
409     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
410     HRESULT borderTopColor([retval, out] VARIANT *p);
411
412     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
413     HRESULT borderRightColor([in] VARIANT v);
414
415     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
416     HRESULT borderRightColor([retval, out] VARIANT *p);
417
418     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
419     HRESULT borderBottomColor([in] VARIANT v);
420
421     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
422     HRESULT borderBottomColor([retval, out] VARIANT *p);
423
424     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
425     HRESULT borderLeftColor([in] VARIANT v);
426
427     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
428     HRESULT borderLeftColor([retval, out] VARIANT *p);
429
430     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
431     HRESULT borderWidth([in] BSTR v);
432
433     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
434     HRESULT borderWidth([retval, out] BSTR *p);
435
436     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
437     HRESULT borderTopWidth([in] VARIANT v);
438
439     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
440     HRESULT borderTopWidth([retval, out] VARIANT *p);
441
442     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
443     HRESULT borderRightWidth([in] VARIANT v);
444
445     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
446     HRESULT borderRightWidth([retval, out] VARIANT *p);
447
448     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
449     HRESULT borderBottomWidth([in] VARIANT v);
450
451     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
452     HRESULT borderBottomWidth([retval, out] VARIANT *p);
453
454     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
455     HRESULT borderLeftWidth([in] VARIANT v);
456
457     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
458     HRESULT borderLeftWidth([retval, out] VARIANT *p);
459
460     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
461     HRESULT borderStyle([in] BSTR v);
462
463     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
464     HRESULT borderStyle([retval, out] BSTR *p);
465
466     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
467     HRESULT borderTopStyle([in] BSTR v);
468
469     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
470     HRESULT borderTopStyle([retval, out] BSTR *p);
471
472     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
473     HRESULT borderRightStyle([in] BSTR v);
474
475     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
476     HRESULT borderRightStyle([retval, out] BSTR *p);
477
478     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
479     HRESULT borderBottomStyle([in] BSTR v);
480
481     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
482     HRESULT borderBottomStyle([retval, out] BSTR *p);
483
484     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
485     HRESULT borderLeftStyle([in] BSTR v);
486
487     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
488     HRESULT borderLeftStyle([retval, out] BSTR *p);
489
490     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
491     HRESULT width([in] VARIANT v);
492
493     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
494     HRESULT width([retval, out] VARIANT *p);
495
496     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
497     HRESULT height([in] VARIANT v);
498
499     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
500     HRESULT height([retval, out] VARIANT *p);
501
502     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
503     HRESULT styleFloat([in] BSTR v);
504
505     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
506     HRESULT styleFloat([retval, out] BSTR *p);
507
508     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
509     HRESULT clear([in] BSTR v);
510
511     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
512     HRESULT clear([retval, out] BSTR *p);
513
514     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
515     HRESULT display([in] BSTR v);
516
517     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
518     HRESULT display([retval, out] BSTR *p);
519
520     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
521     HRESULT visibility([in] BSTR v);
522
523     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
524     HRESULT visibility([retval, out] BSTR *p);
525
526     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
527     HRESULT listStyleType([in] BSTR v);
528
529     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
530     HRESULT listStyleType([retval, out] BSTR *p);
531
532     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
533     HRESULT listStylePosition([in] BSTR v);
534
535     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
536     HRESULT listStylePosition([retval, out] BSTR *p);
537
538     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
539     HRESULT listStyleImage([in] BSTR v);
540
541     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
542     HRESULT listStyleImage([retval, out] BSTR *p);
543
544     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
545     HRESULT listStyle([in] BSTR v);
546
547     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
548     HRESULT listStyle([retval, out] BSTR *p);
549
550     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
551     HRESULT whiteSpace([in] BSTR v);
552
553     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
554     HRESULT whiteSpace([retval, out] BSTR *p);
555
556     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
557     HRESULT top([in] VARIANT v);
558
559     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
560     HRESULT top([retval, out] VARIANT *p);
561
562     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
563     HRESULT left([in] VARIANT v);
564
565     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
566     HRESULT left([retval, out] VARIANT *p);
567
568     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
569     HRESULT position([retval, out] BSTR *p);
570
571     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
572     HRESULT zIndex([in] VARIANT v);
573
574     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
575     HRESULT zIndex([retval, out] VARIANT *p);
576
577     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
578     HRESULT overflow([in] BSTR v);
579
580     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
581     HRESULT overflow([retval, out] BSTR *p);
582
583     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
584     HRESULT pageBreakBefore([in] BSTR v);
585
586     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
587     HRESULT pageBreakBefore([retval, out] BSTR *p);
588
589     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
590     HRESULT pageBreakAfter([in] BSTR v);
591
592     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
593     HRESULT pageBreakAfter([retval, out] BSTR *p);
594
595     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
596     HRESULT cssText([in] BSTR v);
597
598     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
599     HRESULT cssText([retval, out] BSTR *p);
600
601     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
602     HRESULT pixelTop([in] LONG v);
603
604     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
605     HRESULT pixelTop([retval, out] LONG *p);
606
607     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
608     HRESULT pixelLeft([in] LONG v);
609
610     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
611     HRESULT pixelLeft([retval, out] LONG *p);
612
613     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
614     HRESULT pixelWidth([in] LONG v);
615
616     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
617     HRESULT pixelWidth([retval, out] LONG *p);
618
619     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
620     HRESULT pixelHeight([in] LONG v);
621
622     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
623     HRESULT pixelHeight([retval, out] LONG *p);
624
625     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
626     HRESULT posTop([in] float v);
627
628     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
629     HRESULT posTop([retval, out] float *p);
630
631     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
632     HRESULT posLeft([in] float v);
633
634     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
635     HRESULT posLeft([retval, out] float *p);
636
637     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
638     HRESULT posWidth([in] float v);
639
640     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
641     HRESULT posWidth([retval, out] float *p);
642
643     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
644     HRESULT posHeight([in] float v);
645
646     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
647     HRESULT posHeight([retval, out] float *p);
648
649     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
650     HRESULT cursor([in] BSTR v);
651
652     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
653     HRESULT cursor([retval, out] BSTR *p);
654
655     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
656     HRESULT clip([in] BSTR v);
657
658     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
659     HRESULT clip([retval, out] BSTR *p);
660
661     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
662     HRESULT filter([in] BSTR v);
663
664     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
665     HRESULT filter([retval, out] BSTR *p);
666
667     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
668     HRESULT setAttribute(
669         [in] BSTR strAttributeName,
670         [in] VARIANT AttributeValue,
671         [defaultvalue(1), in] LONG lFlags);
672
673     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
674     HRESULT getAttribute(
675         [in] BSTR strAttributeName,
676         [defaultvalue(0), in] LONG lFlags,
677         [retval, out] VARIANT *AttributeValue);
678
679     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
680     HRESULT removeAttribute(
681         [in] BSTR strAttributeName,
682         [defaultvalue(1), in]
683         LONG lFlags,
684         [retval, out] VARIANT_BOOL *pfSuccess);
685
686     [id(DISPID_IHTMLSTYLE_TOSTRING)]
687     HRESULT toString([retval, out] BSTR *String);
688 }
689
690 /*****************************************************************************
691  *    IHTMLStyle2 interface
692  */
693 [
694     odl,
695     oleautomation,
696     dual,
697     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
698 ]
699 interface IHTMLStyle2 : IDispatch
700 {
701     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
702     HRESULT tableLayout([in] BSTR v);
703
704     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
705     HRESULT tableLayout([out, retval] BSTR *p);
706
707     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
708     HRESULT borderCollapse([in] BSTR v);
709
710     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
711     HRESULT borderCollapse([out, retval] BSTR *p);
712
713     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
714     HRESULT direction([in] BSTR v);
715
716     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
717     HRESULT direction([out, retval] BSTR *p);
718
719     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
720     HRESULT behavior([in] BSTR v);
721
722     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
723     HRESULT behavior([out, retval] BSTR *p);
724
725     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
726     HRESULT setExpression(
727             [in] BSTR propname,
728             [in] BSTR expression,
729             [in, defaultvalue("")] BSTR language);
730
731     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
732     HRESULT getExpression(
733             [in] BSTR propname,
734             [out, retval] VARIANT *expression);
735
736     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
737     HRESULT removeExpression(
738             [in] BSTR propname,
739             [out, retval] VARIANT_BOOL *pfSuccess);
740
741     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
742     HRESULT position([in] BSTR v);
743
744     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
745     HRESULT position([out, retval] BSTR *p);
746
747     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
748     HRESULT unicodeBidi([in] BSTR v);
749
750     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
751     HRESULT unicodeBidi([out, retval] BSTR *p);
752
753     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
754     HRESULT bottom([in] VARIANT v);
755
756     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
757     HRESULT bottom([out, retval] VARIANT *p);
758
759     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
760     HRESULT right([in] VARIANT v);
761
762     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
763     HRESULT right([out, retval] VARIANT *p);
764
765     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
766     HRESULT pixelBottom([in] LONG v);
767
768     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
769     HRESULT pixelBottom([out, retval] LONG *p);
770
771     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
772     HRESULT pixelRight([in] LONG v);
773
774     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
775     HRESULT pixelRight([out, retval] LONG *p);
776
777     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
778     HRESULT posBottom([in] float v);
779
780     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
781     HRESULT posBottom([out, retval] float *p);
782
783     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
784     HRESULT posRight([in] float v);
785
786     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
787     HRESULT posRight([out, retval] float *p);
788
789     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
790     HRESULT imeMode([in] BSTR v);
791
792     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
793     HRESULT imeMode([out, retval] BSTR *p);
794
795     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
796     HRESULT rubyAlign([in] BSTR v);
797
798     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
799     HRESULT rubyAlign([out, retval] BSTR *p);
800
801     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
802     HRESULT rubyPosition([in] BSTR v);
803
804     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
805     HRESULT rubyPosition([out, retval] BSTR *p);
806
807     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
808     HRESULT rubyOverhang([in] BSTR v);
809
810     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
811     HRESULT rubyOverhang([out, retval] BSTR *p);
812
813     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
814     HRESULT layoutGridChar([in] VARIANT v);
815
816     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
817     HRESULT layoutGridChar([out, retval] VARIANT *p);
818
819     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
820     HRESULT layoutGridLine([in] VARIANT v);
821
822     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
823     HRESULT layoutGridLine([out, retval] VARIANT *p);
824
825     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
826     HRESULT layoutGridMode([in] BSTR v);
827
828     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
829     HRESULT layoutGridMode([out, retval] BSTR *p);
830
831     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
832     HRESULT layoutGridType([in] BSTR v);
833
834     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
835     HRESULT layoutGridType([out, retval] BSTR *p);
836
837     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
838     HRESULT layoutGrid([in] BSTR v);
839
840     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
841     HRESULT layoutGrid([out, retval] BSTR *p);
842
843     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
844     HRESULT wordBreak([in] BSTR v);
845
846     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
847     HRESULT wordBreak([out, retval] BSTR *p);
848
849     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
850     HRESULT lineBreak([in] BSTR v);
851
852     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
853     HRESULT lineBreak([out, retval] BSTR *p);
854
855     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
856     HRESULT textJustify([in] BSTR v);
857
858     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
859     HRESULT textJustify([out, retval] BSTR *p);
860
861     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
862     HRESULT textJustifyTrim([in] BSTR v);
863
864     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
865     HRESULT textJustifyTrim([out, retval] BSTR *p);
866
867     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
868     HRESULT textKashida([in] VARIANT v);
869
870     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
871     HRESULT textKashida([out, retval] VARIANT *p);
872
873     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
874     HRESULT textAutospace([in] BSTR v);
875
876     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
877     HRESULT textAutospace([out, retval] BSTR *p);
878
879     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
880     HRESULT overflowX([in] BSTR v);
881
882     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
883     HRESULT overflowX([out, retval] BSTR *p);
884
885     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
886     HRESULT overflowY([in] BSTR v);
887
888     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
889     HRESULT overflowY([out, retval] BSTR *p);
890
891     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
892     HRESULT accelerator([in] BSTR v);
893
894     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
895     HRESULT accelerator([out, retval] BSTR *p);
896 }
897
898 /*****************************************************************************
899  *    IHTMLRuleStyle interface
900  */
901 [
902         odl,
903         oleautomation,
904         dual,
905         uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
906 ]
907 interface IHTMLRuleStyle : IDispatch
908 {
909     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
910     HRESULT fontFamily([in] BSTR v);
911
912     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
913     HRESULT fontFamily([retval, out] BSTR *p);
914
915     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
916     HRESULT fontStyle([in] BSTR v);
917
918     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
919     HRESULT fontStyle([retval, out] BSTR *p);
920
921     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
922     HRESULT fontVariant([in] BSTR v);
923
924     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
925     HRESULT fontVariant([retval, out] BSTR *p);
926
927     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
928     HRESULT fontWeight([in] BSTR v);
929
930     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
931     HRESULT fontWeight([retval, out] BSTR *p);
932
933     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
934     HRESULT fontSize([in] VARIANT v);
935
936     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
937     HRESULT fontSize([retval, out] VARIANT *p);
938
939     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
940     HRESULT font([in] BSTR v);
941
942     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
943     HRESULT font([retval, out] BSTR *p);
944
945     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
946     HRESULT color([in] VARIANT v);
947
948     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
949     HRESULT color([retval, out] VARIANT *p);
950
951     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
952     HRESULT background([in] BSTR v);
953
954     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
955     HRESULT background([retval, out] BSTR *p);
956
957     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
958     HRESULT backgroundColor([in] VARIANT v);
959
960     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
961     HRESULT backgroundColor([retval, out] VARIANT *p);
962
963     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
964     HRESULT backgroundImage([in] BSTR v);
965
966     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
967     HRESULT backgroundImage([retval, out] BSTR *p);
968
969     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
970     HRESULT backgroundRepeat([in] BSTR v);
971
972     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
973     HRESULT backgroundRepeat([retval, out] BSTR *p);
974
975     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
976     HRESULT backgroundAttachment([in] BSTR v);
977
978     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
979     HRESULT backgroundAttachment([retval, out] BSTR *p);
980
981     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
982     HRESULT backgroundPosition([in] BSTR v);
983
984     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
985     HRESULT backgroundPosition([retval, out] BSTR *p);
986
987     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
988     HRESULT backgroundPositionX([in] VARIANT v);
989
990     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
991     HRESULT backgroundPositionX([retval, out] VARIANT *p);
992
993     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
994     HRESULT backgroundPositionY([in] VARIANT v);
995
996     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
997     HRESULT backgroundPositionY([retval, out] VARIANT *p);
998
999     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1000     HRESULT wordSpacing([in] VARIANT v);
1001
1002     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1003     HRESULT wordSpacing([retval, out] VARIANT *p);
1004
1005     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1006     HRESULT letterSpacing([in] VARIANT v);
1007
1008     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1009     HRESULT letterSpacing([retval, out] VARIANT *p);
1010
1011     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1012     HRESULT textDecoration([in] BSTR v);
1013
1014     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1015     HRESULT textDecoration([retval, out] BSTR *p);
1016
1017     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1018     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1019
1020     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1021     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1022
1023     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1024     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1025
1026     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1027     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1028
1029     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1030     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1031
1032     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1033     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1034
1035     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1036     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1037
1038     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1039     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1040
1041     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1042     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1043
1044     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1045     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1046
1047     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1048     HRESULT verticalAlign([in] VARIANT v);
1049
1050     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1051     HRESULT verticalAlign([retval, out] VARIANT *p);
1052
1053     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1054     HRESULT textTransform([in] BSTR v);
1055
1056     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1057     HRESULT textTransform([retval, out] BSTR *p);
1058
1059     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1060     HRESULT textAlign([in] BSTR v);
1061
1062     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1063     HRESULT textAlign([retval, out] BSTR *p);
1064
1065     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1066     HRESULT textIndent([in] VARIANT v);
1067
1068     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1069     HRESULT textIndent([retval, out] VARIANT *p);
1070
1071     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1072     HRESULT lineHeight([in] VARIANT v);
1073
1074     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1075     HRESULT lineHeight([retval, out] VARIANT *p);
1076
1077     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1078     HRESULT marginTop([in] VARIANT v);
1079
1080     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1081     HRESULT marginTop([retval, out] VARIANT *p);
1082
1083     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1084     HRESULT marginRight([in] VARIANT v);
1085
1086     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1087     HRESULT marginRight([retval, out] VARIANT *p);
1088
1089     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1090     HRESULT marginBottom([in] VARIANT v);
1091
1092     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1093     HRESULT marginBottom([retval, out] VARIANT *p);
1094
1095     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1096     HRESULT marginLeft([in] VARIANT v);
1097
1098     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1099     HRESULT marginLeft([retval, out] VARIANT *p);
1100
1101     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1102     HRESULT margin([in] BSTR v);
1103
1104     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1105     HRESULT margin([retval, out] BSTR *p);
1106
1107     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1108     HRESULT paddingTop([in] VARIANT v);
1109
1110     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1111     HRESULT paddingTop([retval, out] VARIANT *p);
1112
1113     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1114     HRESULT paddingRight([in] VARIANT v);
1115
1116     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1117     HRESULT paddingRight([retval, out] VARIANT *p);
1118
1119     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1120     HRESULT paddingBottom([in] VARIANT v);
1121
1122     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1123     HRESULT paddingBottom([retval, out] VARIANT *p);
1124
1125     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1126     HRESULT paddingLeft([in] VARIANT v);
1127
1128     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1129     HRESULT paddingLeft([retval, out] VARIANT *p);
1130
1131     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1132     HRESULT padding([in] BSTR v);
1133
1134     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1135     HRESULT padding([retval, out] BSTR *p);
1136
1137     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1138     HRESULT border([in] BSTR v);
1139
1140     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1141     HRESULT border([retval, out] BSTR *p);
1142
1143     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1144     HRESULT borderTop([in] BSTR v);
1145
1146     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1147     HRESULT borderTop([retval, out] BSTR *p);
1148
1149     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1150     HRESULT borderRight([in] BSTR v);
1151
1152     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1153     HRESULT borderRight([retval, out] BSTR *p);
1154
1155     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1156     HRESULT borderBottom([in] BSTR v);
1157
1158     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1159     HRESULT borderBottom([retval, out] BSTR *p);
1160
1161     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1162     HRESULT borderLeft([in] BSTR v);
1163
1164     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1165     HRESULT borderLeft([retval, out] BSTR *p);
1166
1167     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1168     HRESULT borderColor([in] BSTR v);
1169
1170     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1171     HRESULT borderColor([retval, out] BSTR *p);
1172
1173     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1174     HRESULT borderTopColor([in] VARIANT v);
1175
1176     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1177     HRESULT borderTopColor([retval, out] VARIANT *p);
1178
1179     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1180     HRESULT borderRightColor([in] VARIANT v);
1181
1182     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1183     HRESULT borderRightColor([retval, out] VARIANT *p);
1184
1185     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1186     HRESULT borderBottomColor([in] VARIANT v);
1187
1188     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1189     HRESULT borderBottomColor([retval, out] VARIANT *p);
1190
1191     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1192     HRESULT borderLeftColor([in] VARIANT v);
1193
1194     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1195     HRESULT borderLeftColor([retval, out] VARIANT *p);
1196
1197     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1198     HRESULT borderWidth([in] BSTR v);
1199
1200     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1201     HRESULT borderWidth([retval, out] BSTR *p);
1202
1203     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1204     HRESULT borderTopWidth([in] VARIANT v);
1205
1206     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1207     HRESULT borderTopWidth([retval, out] VARIANT *p);
1208
1209     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1210     HRESULT borderRightWidth([in] VARIANT v);
1211
1212     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1213     HRESULT borderRightWidth([retval, out] VARIANT *p);
1214
1215     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1216     HRESULT borderBottomWidth([in] VARIANT v);
1217
1218     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1219     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1220
1221     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1222     HRESULT borderLeftWidth([in] VARIANT v);
1223
1224     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1225     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1226
1227     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1228     HRESULT borderStyle([in] BSTR v);
1229
1230     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1231     HRESULT borderStyle([retval, out] BSTR *p);
1232
1233     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1234     HRESULT borderTopStyle([in] BSTR v);
1235
1236     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1237     HRESULT borderTopStyle([retval, out] BSTR *p);
1238
1239     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1240     HRESULT borderRightStyle([in] BSTR v);
1241
1242     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1243     HRESULT borderRightStyle([retval, out] BSTR *p);
1244
1245     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1246     HRESULT borderBottomStyle([in] BSTR v);
1247
1248     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1249     HRESULT borderBottomStyle([retval, out] BSTR *p);
1250
1251     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1252     HRESULT borderLeftStyle([in] BSTR v);
1253
1254     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1255     HRESULT borderLeftStyle([retval, out] BSTR *p);
1256
1257     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1258     HRESULT width([in] VARIANT v);
1259
1260     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1261     HRESULT width([retval, out] VARIANT *p);
1262
1263     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1264     HRESULT height([in] VARIANT v);
1265
1266     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1267     HRESULT height([retval, out] VARIANT *p);
1268
1269     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1270     HRESULT styleFloat([in] BSTR v);
1271
1272     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1273     HRESULT styleFloat([retval, out] BSTR *p);
1274
1275     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1276     HRESULT clear([in] BSTR v);
1277
1278     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1279     HRESULT clear([retval, out] BSTR *p);
1280
1281     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1282     HRESULT display([in] BSTR v);
1283
1284     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1285     HRESULT display([retval, out] BSTR *p);
1286
1287     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1288     HRESULT visibility([in] BSTR v);
1289
1290     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1291     HRESULT visibility([retval, out] BSTR *p);
1292
1293     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1294     HRESULT listStyleType([in] BSTR v);
1295
1296     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1297     HRESULT listStyleType([retval, out] BSTR *p);
1298
1299     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1300     HRESULT listStylePosition([in] BSTR v);
1301
1302     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1303     HRESULT listStylePosition([retval, out] BSTR *p);
1304
1305     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1306     HRESULT listStyleImage([in] BSTR v);
1307
1308     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1309     HRESULT listStyleImage([retval, out] BSTR *p);
1310
1311     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1312     HRESULT listStyle([in] BSTR v);
1313
1314     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1315     HRESULT listStyle([retval, out] BSTR *p);
1316
1317     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1318     HRESULT whiteSpace([in] BSTR v);
1319
1320     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1321     HRESULT whiteSpace([retval, out] BSTR *p);
1322
1323     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1324     HRESULT top([in] VARIANT v);
1325
1326     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1327     HRESULT top([retval, out] VARIANT *p);
1328
1329     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1330     HRESULT left([in] VARIANT v);
1331
1332     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1333     HRESULT left([retval, out] VARIANT *p);
1334
1335     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1336     HRESULT position([retval, out] BSTR *p);
1337
1338     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1339     HRESULT zIndex([in] VARIANT v);
1340
1341     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1342     HRESULT zIndex([retval, out] VARIANT *p);
1343
1344     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1345     HRESULT overflow([in] BSTR v);
1346
1347     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1348     HRESULT overflow([retval, out] BSTR *p);
1349
1350     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1351     HRESULT pageBreakBefore([in] BSTR v);
1352
1353     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1354     HRESULT pageBreakBefore([retval, out] BSTR *p);
1355
1356     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1357     HRESULT pageBreakAfter([in] BSTR v);
1358
1359     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1360     HRESULT pageBreakAfter([retval, out] BSTR *p);
1361
1362     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1363     HRESULT cssText([in] BSTR v);
1364
1365     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1366     HRESULT cssText([retval, out] BSTR *p);
1367
1368     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1369     HRESULT cursor([in] BSTR v);
1370
1371     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1372     HRESULT cursor([retval, out] BSTR *p);
1373
1374     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1375     HRESULT clip([in] BSTR v);
1376
1377     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1378     HRESULT clip([retval, out] BSTR *p);
1379
1380     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1381     HRESULT filter([in] BSTR v);
1382
1383     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1384     HRESULT filter([retval, out] BSTR *p);
1385
1386     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1387     HRESULT setAttribute(
1388         [in] BSTR strAttributeName,
1389         [in] VARIANT AttributeValue,
1390         [defaultvalue(1), in] LONG lFlags);
1391
1392     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1393     HRESULT getAttribute(
1394         [in] BSTR strAttributeName,
1395         [defaultvalue(0), in] LONG lFlags,
1396         [retval, out] VARIANT *AttributeValue);
1397
1398     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1399     HRESULT removeAttribute(
1400         [in] BSTR strAttributeName,
1401         [defaultvalue(1), in] LONG lFlags,
1402         [retval, out] VARIANT_BOOL *pfSuccess);
1403 }
1404
1405 /*****************************************************************************
1406  *    DispHTMLStyle dispinterface
1407  */
1408 [
1409     hidden,
1410     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1411 ]
1412 dispinterface DispHTMLStyle
1413 {
1414 properties:
1415 methods:
1416     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1417     void fontFamily(BSTR v);
1418
1419     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1420     BSTR fontFamily();
1421
1422     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1423     void fontStyle(BSTR v);
1424
1425     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1426     BSTR fontStyle();
1427
1428     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1429     void fontVariant(BSTR v);
1430
1431     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1432     BSTR fontVariant();
1433
1434     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1435     void fontWeight(BSTR v);
1436
1437     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1438     BSTR fontWeight();
1439
1440     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1441     void fontSize(VARIANT v);
1442
1443     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1444     VARIANT fontSize();
1445
1446     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1447     void font(BSTR v);
1448
1449     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1450     BSTR font();
1451
1452     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1453     void color(VARIANT v);
1454
1455     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1456     VARIANT color();
1457
1458     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1459     void background(BSTR v);
1460
1461     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1462     BSTR background();
1463
1464     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1465     void backgroundColor(VARIANT v);
1466
1467     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1468     VARIANT backgroundColor();
1469
1470     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1471     void backgroundImage(BSTR v);
1472
1473     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1474     BSTR backgroundImage();
1475
1476     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1477     void backgroundRepeat(BSTR v);
1478
1479     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1480     BSTR backgroundRepeat();
1481
1482     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1483     void backgroundAttachment(BSTR v);
1484
1485     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1486     BSTR backgroundAttachment();
1487
1488     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1489     void backgroundPosition(BSTR v);
1490
1491     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1492     BSTR backgroundPosition();
1493
1494     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1495     void backgroundPositionX(VARIANT v);
1496
1497     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1498     VARIANT backgroundPositionX();
1499
1500     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1501     void backgroundPositionY(VARIANT v);
1502
1503     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1504     VARIANT backgroundPositionY();
1505
1506     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1507     void wordSpacing(VARIANT v);
1508
1509     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1510     VARIANT wordSpacing();
1511
1512     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1513     void letterSpacing(VARIANT v);
1514
1515     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1516     VARIANT letterSpacing();
1517
1518     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1519     void textDecoration(BSTR v);
1520
1521     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1522     BSTR textDecoration();
1523
1524     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1525     void textDecorationNone(VARIANT_BOOL v);
1526
1527     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1528     VARIANT_BOOL textDecorationNone();
1529
1530     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1531     void textDecorationUnderline(VARIANT_BOOL v);
1532
1533     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1534     VARIANT_BOOL textDecorationUnderline();
1535
1536     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1537     void textDecorationOverline(VARIANT_BOOL v);
1538
1539     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1540     VARIANT_BOOL textDecorationOverline();
1541
1542     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1543     void textDecorationLineThrough(VARIANT_BOOL v);
1544
1545     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1546     VARIANT_BOOL textDecorationLineThrough();
1547
1548     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1549     void textDecorationBlink(VARIANT_BOOL v);
1550
1551     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1552     VARIANT_BOOL textDecorationBlink();
1553
1554     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1555     void verticalAlign(VARIANT v);
1556
1557     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1558     VARIANT verticalAlign();
1559
1560     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1561     void textTransform(BSTR v);
1562
1563     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1564     BSTR textTransform();
1565
1566     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1567     void textAlign(BSTR v);
1568
1569     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1570     BSTR textAlign();
1571
1572     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1573     void textIndent(VARIANT v);
1574
1575     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1576     VARIANT textIndent();
1577
1578     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1579     void lineHeight(VARIANT v);
1580
1581     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1582     VARIANT lineHeight();
1583
1584     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1585     void marginTop(VARIANT v);
1586
1587     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1588     VARIANT marginTop();
1589
1590     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1591     void marginRight(VARIANT v);
1592
1593     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1594     VARIANT marginRight();
1595
1596     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1597     void marginBottom(VARIANT v);
1598
1599     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1600     VARIANT marginBottom();
1601
1602     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1603     void marginLeft(VARIANT v);
1604
1605     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1606     VARIANT marginLeft();
1607
1608     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1609     void margin(BSTR v);
1610
1611     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1612     BSTR margin();
1613
1614     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1615     void paddingTop(VARIANT v);
1616
1617     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1618     VARIANT paddingTop();
1619
1620     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1621     void paddingRight(VARIANT v);
1622
1623     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1624     VARIANT paddingRight();
1625
1626     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1627     void paddingBottom(VARIANT v);
1628
1629     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1630     VARIANT paddingBottom();
1631
1632     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1633     void paddingLeft(VARIANT v);
1634
1635     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1636     VARIANT paddingLeft();
1637
1638     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1639     void padding(BSTR v);
1640
1641     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1642     BSTR padding();
1643
1644     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1645     void border(BSTR v);
1646
1647     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1648     BSTR border();
1649
1650     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1651     void borderTop(BSTR v);
1652
1653     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1654     BSTR borderTop();
1655
1656     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1657     void borderRight(BSTR v);
1658
1659     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1660     BSTR borderRight();
1661
1662     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1663     void borderBottom(BSTR v);
1664
1665     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1666     BSTR borderBottom();
1667
1668     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1669     void borderLeft(BSTR v);
1670
1671     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1672     BSTR borderLeft();
1673
1674     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1675     void borderColor(BSTR v);
1676
1677     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1678     BSTR borderColor();
1679
1680     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1681     void borderTopColor(VARIANT v);
1682
1683     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1684     VARIANT borderTopColor();
1685
1686     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1687     void borderRightColor(VARIANT v);
1688
1689     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1690     VARIANT borderRightColor();
1691
1692     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1693     void borderBottomColor(VARIANT v);
1694
1695     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1696     VARIANT borderBottomColor();
1697
1698     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1699     void borderLeftColor(VARIANT v);
1700
1701     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1702     VARIANT borderLeftColor();
1703
1704     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1705     void borderWidth(BSTR v);
1706
1707     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1708     BSTR borderWidth();
1709
1710     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1711     void borderTopWidth(VARIANT v);
1712
1713     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1714     VARIANT borderTopWidth();
1715
1716     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1717     void borderRightWidth(VARIANT v);
1718
1719     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1720     VARIANT borderRightWidth();
1721
1722     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1723     void borderBottomWidth(VARIANT v);
1724
1725     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1726     VARIANT borderBottomWidth();
1727
1728     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1729     void borderLeftWidth(VARIANT v);
1730
1731     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1732     VARIANT borderLeftWidth();
1733
1734     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1735     void borderStyle(BSTR v);
1736
1737     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1738     BSTR borderStyle();
1739
1740     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1741     void borderTopStyle(BSTR v);
1742
1743     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1744     BSTR borderTopStyle();
1745
1746     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1747     void borderRightStyle(BSTR v);
1748
1749     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1750     BSTR borderRightStyle();
1751
1752     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1753     void borderBottomStyle(BSTR v);
1754
1755     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1756     BSTR borderBottomStyle();
1757
1758     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1759     void borderLeftStyle(BSTR v);
1760
1761     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1762     BSTR borderLeftStyle();
1763
1764     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1765     void width(VARIANT v);
1766
1767     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1768     VARIANT width();
1769
1770     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1771     void height(VARIANT v);
1772
1773     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1774     VARIANT height();
1775
1776     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1777     void styleFloat(BSTR v);
1778
1779     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1780     BSTR styleFloat();
1781
1782     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1783     void clear(BSTR v);
1784
1785     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1786     BSTR clear();
1787
1788     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1789     void display(BSTR v);
1790
1791     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1792     BSTR display();
1793
1794     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1795     void visibility(BSTR v);
1796
1797     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1798     BSTR visibility();
1799
1800     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1801     void listStyleType(BSTR v);
1802
1803     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1804     BSTR listStyleType();
1805
1806     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1807     void listStylePosition(BSTR v);
1808
1809     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1810     BSTR listStylePosition();
1811
1812     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1813     void listStyleImage(BSTR v);
1814
1815     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1816     BSTR listStyleImage();
1817
1818     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1819     void listStyle(BSTR v);
1820
1821     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1822     BSTR listStyle();
1823
1824     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1825     void whiteSpace(BSTR v);
1826
1827     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1828     BSTR whiteSpace();
1829
1830     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1831     void top(VARIANT v);
1832
1833     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1834     VARIANT top();
1835
1836     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1837     void left(VARIANT v);
1838
1839     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1840     VARIANT left();
1841
1842     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1843     void zIndex(VARIANT v);
1844
1845     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1846     VARIANT zIndex();
1847
1848     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1849     void overflow(BSTR v);
1850
1851     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1852     BSTR overflow();
1853
1854     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1855     void pageBreakBefore(BSTR v);
1856
1857     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1858     BSTR pageBreakBefore();
1859
1860     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1861     void pageBreakAfter(BSTR v);
1862
1863     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1864     BSTR pageBreakAfter();
1865
1866     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1867     void cssText(BSTR v);
1868
1869     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1870     BSTR cssText();
1871
1872     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1873     void pixelTop(LONG v);
1874
1875     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1876     LONG pixelTop();
1877
1878     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1879     void pixelLeft(LONG v);
1880
1881     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1882     LONG pixelLeft();
1883
1884     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1885     void pixelWidth(LONG v);
1886
1887     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1888     LONG pixelWidth();
1889
1890     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1891     void pixelHeight(LONG v);
1892
1893     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1894     LONG pixelHeight();
1895
1896     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1897     void posTop(float v);
1898
1899     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1900     float posTop();
1901
1902     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1903     void posLeft(float v);
1904
1905     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1906     float posLeft();
1907
1908     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1909     void posWidth(float v);
1910
1911     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1912     float posWidth();
1913
1914     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1915     void posHeight(float v);
1916
1917     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1918     float posHeight();
1919
1920     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1921     void cursor(BSTR v);
1922
1923     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1924     BSTR cursor();
1925
1926     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1927     void clip(BSTR v);
1928
1929     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1930     BSTR clip();
1931
1932     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1933     void filter(BSTR v);
1934
1935     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1936     BSTR filter();
1937
1938     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1939     void setAttribute(
1940             [in] BSTR strAttributeName,
1941             [in] VARIANT AttributeValue,
1942             [in, defaultvalue(1)] LONG lFlags);
1943
1944     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1945     VARIANT getAttribute(
1946             [in] BSTR strAttributeName,
1947             [in, defaultvalue(0)] LONG lFlags);
1948
1949     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1950     VARIANT_BOOL removeAttribute(
1951             [in] BSTR strAttributeName,
1952             [in, defaultvalue(1)] LONG lFlags);
1953
1954     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1955     BSTR toString();
1956
1957     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1958     void tableLayout(BSTR v);
1959
1960     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1961     BSTR tableLayout();
1962
1963     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1964     void borderCollapse(BSTR v);
1965
1966     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1967     BSTR borderCollapse();
1968
1969     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1970     void direction(BSTR v);
1971
1972     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1973     BSTR direction();
1974
1975     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1976     void behavior(BSTR v);
1977
1978     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1979     BSTR behavior();
1980
1981     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
1982     void setExpression(
1983             [in] BSTR propname,
1984             [in] BSTR expression,
1985             [in, defaultvalue("")] BSTR language);
1986
1987     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
1988     VARIANT getExpression([in] BSTR propname);
1989
1990     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
1991     VARIANT_BOOL removeExpression([in] BSTR propname);
1992
1993     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1994     void position(BSTR v);
1995
1996     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1997     BSTR position();
1998
1999     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2000     void unicodeBidi(BSTR v);
2001
2002     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2003     BSTR unicodeBidi();
2004
2005     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2006     void bottom(VARIANT v);
2007
2008     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2009     VARIANT bottom();
2010
2011     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2012     void right(VARIANT v);
2013
2014     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2015     VARIANT right();
2016
2017     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2018     void pixelBottom(LONG v);
2019
2020     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2021     LONG pixelBottom();
2022
2023     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2024     void pixelRight(LONG v);
2025
2026     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2027     LONG pixelRight();
2028
2029     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2030     void posBottom(float v);
2031
2032     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2033     float posBottom();
2034
2035     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2036     void posRight(float v);
2037
2038     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2039     float posRight();
2040
2041     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2042     void imeMode(BSTR v);
2043
2044     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2045     BSTR imeMode();
2046
2047     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2048     void rubyAlign(BSTR v);
2049
2050     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2051     BSTR rubyAlign();
2052
2053     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2054     void rubyPosition(BSTR v);
2055
2056     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2057     BSTR rubyPosition();
2058
2059     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2060     void rubyOverhang(BSTR v);
2061
2062     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2063     BSTR rubyOverhang();
2064
2065     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2066     void layoutGridChar(VARIANT v);
2067
2068     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2069     VARIANT layoutGridChar();
2070
2071     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2072     void layoutGridLine(VARIANT v);
2073
2074     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2075     VARIANT layoutGridLine();
2076
2077     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2078     void layoutGridMode(BSTR v);
2079
2080     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2081     BSTR layoutGridMode();
2082
2083     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2084     void layoutGridType(BSTR v);
2085
2086     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2087     BSTR layoutGridType();
2088
2089     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2090     void layoutGrid(BSTR v);
2091
2092     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2093     BSTR layoutGrid();
2094
2095     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2096     void wordBreak(BSTR v);
2097
2098     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2099     BSTR wordBreak();
2100
2101     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2102     void lineBreak(BSTR v);
2103
2104     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2105     BSTR lineBreak();
2106
2107     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2108     void textJustify(BSTR v);
2109
2110     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2111     BSTR textJustify();
2112
2113     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2114     void textJustifyTrim(BSTR v);
2115
2116     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2117     BSTR textJustifyTrim();
2118
2119     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2120     void textKashida(VARIANT v);
2121
2122     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2123     VARIANT textKashida();
2124
2125     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2126     void textAutospace(BSTR v);
2127
2128     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2129     BSTR textAutospace();
2130
2131     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2132     void overflowX(BSTR v);
2133
2134     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2135     BSTR overflowX();
2136
2137     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2138     void overflowY(BSTR v);
2139
2140     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2141     BSTR overflowY();
2142
2143     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2144     void accelerator(BSTR v);
2145
2146     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2147     BSTR accelerator();
2148
2149     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2150     void layoutFlow(BSTR v);
2151
2152     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2153     BSTR layoutFlow();
2154
2155     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2156     void zoom(VARIANT v);
2157
2158     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2159     VARIANT zoom();
2160
2161     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2162     void wordWrap(BSTR v);
2163
2164     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2165     BSTR wordWrap();
2166
2167     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2168     void textUnderlinePosition(BSTR v);
2169
2170     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2171     BSTR textUnderlinePosition();
2172
2173     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2174     void scrollbarBaseColor(VARIANT v);
2175
2176     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2177     VARIANT scrollbarBaseColor();
2178
2179     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2180     void scrollbarFaceColor(VARIANT v);
2181
2182     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2183     VARIANT scrollbarFaceColor();
2184
2185     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2186     void scrollbar3dLightColor(VARIANT v);
2187
2188     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2189     VARIANT scrollbar3dLightColor();
2190
2191     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2192     void scrollbarShadowColor(VARIANT v);
2193
2194     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2195     VARIANT scrollbarShadowColor();
2196
2197     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2198     void scrollbarHighlightColor(VARIANT v);
2199
2200     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2201     VARIANT scrollbarHighlightColor();
2202
2203     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2204     void scrollbarDarkShadowColor(VARIANT v);
2205
2206     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2207     VARIANT scrollbarDarkShadowColor();
2208
2209     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2210     void scrollbarArrowColor(VARIANT v);
2211
2212     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2213     VARIANT scrollbarArrowColor();
2214
2215     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2216     void scrollbarTrackColor(VARIANT v);
2217
2218     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2219     VARIANT scrollbarTrackColor();
2220
2221     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2222     void writingMode(BSTR v);
2223
2224     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2225     BSTR writingMode();
2226
2227     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2228     void textAlignLast(BSTR v);
2229
2230     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2231     BSTR textAlignLast();
2232
2233     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2234     void textKashidaSpace(VARIANT v);
2235
2236     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2237     VARIANT textKashidaSpace();
2238
2239     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2240     void textOverflow(BSTR v);
2241
2242     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2243     BSTR textOverflow();
2244
2245     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2246     void minHeight(VARIANT v);
2247
2248     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2249     VARIANT minHeight();
2250 }
2251
2252 [
2253     odl,
2254     oleautomation,
2255     dual,
2256     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2257 ]
2258 interface IHTMLStyle3 : IDispatch
2259 {
2260     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2261     HRESULT layoutFlow([in] BSTR v);
2262
2263     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2264     HRESULT layoutFlow([retval, out] BSTR * p);
2265
2266     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2267     HRESULT zoom([in] VARIANT v);
2268
2269     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2270     HRESULT zoom([retval, out] VARIANT * p);
2271
2272     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2273     HRESULT wordWrap([in] BSTR v);
2274
2275     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2276     HRESULT wordWrap([retval, out] BSTR * p);
2277
2278     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2279     HRESULT textUnderlinePosition([in] BSTR v);
2280
2281     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2282     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2283
2284     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2285     HRESULT scrollbarBaseColor([in] VARIANT v);
2286
2287     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2288     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2289
2290     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2291     HRESULT scrollbarFaceColor([in] VARIANT v);
2292
2293     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2294     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2295
2296     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2297     HRESULT scrollbar3dLightColor([in] VARIANT v);
2298
2299     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2300     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2301
2302     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2303     HRESULT scrollbarShadowColor([in] VARIANT v);
2304
2305     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2306     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2307
2308     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2309     HRESULT scrollbarHighlightColor([in] VARIANT v);
2310
2311     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2312     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2313
2314     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2315     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2316
2317     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2318     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2319
2320     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2321     HRESULT scrollbarArrowColor([in] VARIANT v);
2322
2323     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2324     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2325
2326     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2327     HRESULT scrollbarTrackColor([in] VARIANT v);
2328
2329     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2330     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2331
2332     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2333     HRESULT writingMode([in] BSTR v);
2334
2335     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2336     HRESULT writingMode([retval, out] BSTR * p);
2337
2338     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2339     HRESULT textAlignLast([in] BSTR v);
2340
2341     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2342     HRESULT textAlignLast([retval, out] BSTR * p);
2343
2344     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2345     HRESULT textKashidaSpace([in] VARIANT v);
2346
2347     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2348     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2349 }
2350
2351 /*****************************************************************************
2352  *    IHTMLSytyle4 interface
2353  */
2354 [
2355     odl,
2356     oleautomation,
2357     dual,
2358     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2359 ]
2360 interface IHTMLStyle4 : IDispatch
2361 {
2362     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2363     HRESULT textOverflow([in] BSTR v);
2364
2365     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2366     HRESULT textOverflow([retval, out] BSTR * p);
2367
2368     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2369     HRESULT minHeight([in] VARIANT v);
2370
2371     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2372     HRESULT minHeight([retval, out] VARIANT * p);
2373 }
2374
2375 [
2376     noncreatable,
2377     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2378 ]
2379 coclass HTMLStyle
2380 {
2381     [default] dispinterface DispHTMLStyle;
2382     interface IHTMLStyle;
2383     interface IHTMLStyle2;
2384     interface IHTMLStyle3;
2385     interface IHTMLStyle4;
2386     /* interface IHTMLStyle5; */
2387 }
2388
2389 /*****************************************************************************
2390  *    IHTMLRenderStyle interface
2391  */
2392 [
2393     odl,
2394     oleautomation,
2395     dual,
2396     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2397 ]
2398 interface IHTMLRenderStyle : IDispatch
2399 {
2400     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2401     HRESULT textLineThroughStyle([in] BSTR v);
2402
2403     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2404     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2405
2406     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2407     HRESULT textUnderlineStyle([in] BSTR v);
2408
2409     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2410     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2411
2412     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2413     HRESULT textEffect([in] BSTR v);
2414
2415     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2416     HRESULT textEffect([retval, out] BSTR *p);
2417
2418     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2419     HRESULT textColor([in] VARIANT v);
2420
2421     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2422     HRESULT textColor([retval, out] VARIANT *p);
2423
2424     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2425     HRESULT textBackgroundColor([in] VARIANT v);
2426
2427     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2428     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2429
2430     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2431     HRESULT textDecorationColor([in] VARIANT v);
2432
2433     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2434     HRESULT textDecorationColor([retval, out] VARIANT *p);
2435
2436     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2437     HRESULT renderingPriority([in] LONG v);
2438
2439     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2440     HRESULT renderingPriority([retval, out] LONG *p);
2441
2442     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2443     HRESULT defaultTextSelection([in] BSTR v);
2444
2445     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2446     HRESULT defaultTextSelection([retval, out] BSTR *p);
2447
2448     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2449     HRESULT textDecoration([in] BSTR v);
2450
2451     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2452     HRESULT textDecoration([retval, out] BSTR *p);
2453 }
2454
2455 /*****************************************************************************
2456  *    IHTMLCurrentStyle interface
2457  */
2458 [
2459     odl,
2460     oleautomation,
2461     dual,
2462     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2463 ]
2464 interface IHTMLCurrentStyle : IDispatch
2465 {
2466     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2467     HRESULT position([retval, out] BSTR *p);
2468
2469     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2470     HRESULT styleFloat([retval, out] BSTR *p);
2471
2472     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2473     HRESULT color([retval, out] VARIANT *p);
2474
2475     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2476     HRESULT backgroundColor([retval, out] VARIANT *p);
2477
2478     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2479     HRESULT fontFamily([retval, out] BSTR *p);
2480
2481     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2482     HRESULT fontStyle([retval, out] BSTR *p);
2483
2484     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2485     HRESULT fontVariant([retval, out] BSTR *p);
2486
2487     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2488     HRESULT fontWeight([retval, out] VARIANT *p);
2489
2490     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2491     HRESULT fontSize([retval, out] VARIANT *p);
2492
2493     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2494     HRESULT backgroundImage([retval, out] BSTR *p);
2495
2496     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2497     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2498
2499     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2500     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2501
2502     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2503     HRESULT backgroundRepeat([retval, out] BSTR *p);
2504
2505     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2506     HRESULT borderLeftColor([retval, out] VARIANT *p);
2507
2508     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2509     HRESULT borderTopColor([retval, out] VARIANT *p);
2510
2511     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2512     HRESULT borderRightColor([retval, out] VARIANT *p);
2513
2514     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2515     HRESULT borderBottomColor([retval, out] VARIANT *p);
2516
2517     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2518     HRESULT borderTopStyle([retval, out] BSTR *p);
2519
2520     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2521     HRESULT borderRightStyle([retval, out] BSTR *p);
2522
2523     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2524     HRESULT borderBottomStyle([retval, out] BSTR *p);
2525
2526     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2527     HRESULT borderLeftStyle([retval, out] BSTR *p);
2528
2529     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2530     HRESULT borderTopWidth([retval, out] VARIANT *p);
2531
2532     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2533     HRESULT borderRightWidth([retval, out] VARIANT *p);
2534
2535     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2536     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2537
2538     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2539     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2540
2541     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2542     HRESULT left([retval, out] VARIANT *p);
2543
2544     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2545     HRESULT top([retval, out] VARIANT *p);
2546
2547     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2548     HRESULT width([retval, out] VARIANT *p);
2549
2550     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2551     HRESULT height([retval, out] VARIANT *p);
2552
2553     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2554     HRESULT paddingLeft([retval, out] VARIANT *p);
2555
2556     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2557     HRESULT paddingTop([retval, out] VARIANT *p);
2558
2559     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2560     HRESULT paddingRight([retval, out] VARIANT *p);
2561
2562     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2563     HRESULT paddingBottom([retval, out] VARIANT *p);
2564
2565     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2566     HRESULT textAlign([retval, out] BSTR *p);
2567
2568     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2569     HRESULT textDecoration([retval, out] BSTR *p);
2570
2571     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2572     HRESULT display([retval, out] BSTR *p);
2573
2574     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2575     HRESULT visibility([retval, out] BSTR *p);
2576
2577     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2578     HRESULT zIndex([retval, out] VARIANT *p);
2579
2580     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2581     HRESULT letterSpacing([retval, out] VARIANT *p);
2582
2583     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2584     HRESULT lineHeight([retval, out] VARIANT *p);
2585
2586     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2587     HRESULT textIndent([retval, out] VARIANT *p);
2588
2589     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2590     HRESULT verticalAlign([retval, out] VARIANT *p);
2591
2592     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2593     HRESULT backgroundAttachment([retval, out] BSTR *p);
2594
2595     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2596     HRESULT marginTop([retval, out] VARIANT *p);
2597
2598     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2599     HRESULT marginRight([retval, out] VARIANT *p);
2600
2601     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2602     HRESULT marginBottom([retval, out] VARIANT *p);
2603
2604     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2605     HRESULT marginLeft([retval, out] VARIANT *p);
2606
2607     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2608     HRESULT clear([retval, out] BSTR *p);
2609
2610     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2611     HRESULT listStyleType([retval, out] BSTR *p);
2612
2613     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2614     HRESULT listStylePosition([retval, out] BSTR *p);
2615
2616     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2617     HRESULT listStyleImage([retval, out] BSTR *p);
2618
2619     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2620     HRESULT clipTop([retval, out] VARIANT *p);
2621
2622     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2623     HRESULT clipRight([retval, out] VARIANT *p);
2624
2625     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2626     HRESULT clipBottom([retval, out] VARIANT *p);
2627
2628     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2629     HRESULT clipLeft([retval, out] VARIANT *p);
2630
2631     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2632     HRESULT overflow([retval, out] BSTR *p);
2633
2634     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2635     HRESULT pageBreakBefore([retval, out] BSTR *p);
2636
2637     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2638     HRESULT pageBreakAfter([retval, out] BSTR *p);
2639
2640     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2641     HRESULT cursor([retval, out] BSTR *p);
2642
2643     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2644     HRESULT tableLayout([retval, out] BSTR *p);
2645
2646     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2647     HRESULT borderCollapse([retval, out] BSTR *p);
2648
2649     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2650     HRESULT direction([retval, out] BSTR *p);
2651
2652     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2653     HRESULT behavior([retval, out] BSTR *p);
2654
2655     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2656     HRESULT getAttribute(
2657         [in] BSTR strAttributeName,
2658         [defaultvalue(0), in] LONG lFlags,
2659         [retval, out] VARIANT *AttributeValue);
2660
2661     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2662     HRESULT unicodeBidi([retval, out] BSTR *p);
2663
2664     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2665     HRESULT right([retval, out] VARIANT *p);
2666
2667     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2668     HRESULT bottom([retval, out] VARIANT *p);
2669
2670     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2671     HRESULT imeMode([retval, out] BSTR *p);
2672
2673     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2674     HRESULT rubyAlign([retval, out] BSTR *p);
2675
2676     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2677     HRESULT rubyPosition([retval, out] BSTR *p);
2678
2679     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2680     HRESULT rubyOverhang([retval, out] BSTR *p);
2681
2682     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2683     HRESULT textAutospace([retval, out] BSTR *p);
2684
2685     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2686     HRESULT lineBreak([retval, out] BSTR *p);
2687
2688     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2689     HRESULT wordBreak([retval, out] BSTR *p);
2690
2691     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2692     HRESULT textJustify([retval, out] BSTR *p);
2693
2694     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2695     HRESULT textJustifyTrim([retval, out] BSTR *p);
2696
2697     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2698     HRESULT textKashida([retval, out] VARIANT *p);
2699
2700     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2701     HRESULT blockDirection([retval, out] BSTR *p);
2702
2703     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2704     HRESULT layoutGridChar([retval, out] VARIANT *p);
2705
2706     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2707     HRESULT layoutGridLine([retval, out] VARIANT *p);
2708
2709     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2710     HRESULT layoutGridMode([retval, out] BSTR *p);
2711
2712     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2713     HRESULT layoutGridType([retval, out] BSTR *p);
2714
2715     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2716     HRESULT borderStyle([retval, out] BSTR *p);
2717
2718     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2719     HRESULT borderColor([retval, out] BSTR *p);
2720
2721     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2722     HRESULT borderWidth([retval, out] BSTR *p);
2723
2724     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2725     HRESULT padding([retval, out] BSTR *p);
2726
2727     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2728     HRESULT margin([retval, out] BSTR *p);
2729
2730     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2731     HRESULT accelerator([retval, out] BSTR *p);
2732
2733     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2734     HRESULT overflowX([retval, out] BSTR *p);
2735
2736     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2737     HRESULT overflowY([retval, out] BSTR *p);
2738
2739     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2740     HRESULT textTransform([retval, out] BSTR *p);
2741 }
2742
2743 /*****************************************************************************
2744  *    IHTMLCurrentStyle2 interface
2745  */
2746 [
2747     odl,
2748     oleautomation,
2749     dual,
2750     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
2751 ]
2752 interface IHTMLCurrentStyle2 : IDispatch
2753 {
2754     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
2755     HRESULT layoutFlow([retval, out] BSTR * p);
2756
2757     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
2758     HRESULT wordWrap([retval, out] BSTR * p);
2759
2760     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
2761     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2762
2763     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
2764     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
2765
2766     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
2767     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2768
2769     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
2770     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2771
2772     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2773     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2774
2775     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2776     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2777
2778     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2779     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2780
2781     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2782     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2783
2784     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
2785     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2786
2787     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
2788     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2789
2790     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
2791     HRESULT writingMode([retval, out] BSTR * p);
2792
2793     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
2794     HRESULT zoom([retval, out] VARIANT * p);
2795
2796     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
2797     HRESULT filter([retval, out] BSTR * p);
2798
2799     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
2800     HRESULT textAlignLast([retval, out] BSTR * p);
2801
2802     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
2803     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2804
2805     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
2806     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
2807 }
2808
2809 /*****************************************************************************
2810  *    IHTMLCurrentStyle3 interface
2811  */
2812 [
2813     odl,
2814     oleautomation,
2815     dual,
2816     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
2817 ]
2818 interface IHTMLCurrentStyle3 : IDispatch
2819 {
2820     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
2821     HRESULT textOverflow([retval, out] BSTR * p);
2822
2823     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
2824     HRESULT minHeight([retval, out] VARIANT * p);
2825
2826     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
2827     HRESULT wordSpacing([retval, out] VARIANT * p);
2828
2829     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
2830     HRESULT whiteSpace([retval, out] BSTR * p);
2831 }
2832
2833 /*****************************************************************************
2834  *    IHTMLCurrentStyle4 interface
2835  */
2836 [
2837     odl,
2838     oleautomation,
2839     dual,
2840     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
2841 ]
2842 interface IHTMLCurrentStyle4 : IDispatch
2843 {
2844     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
2845     HRESULT msInterpolationMode([retval, out] BSTR * p);
2846
2847     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
2848     HRESULT maxHeight([retval, out] VARIANT * p);
2849
2850     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
2851     HRESULT minWidth([retval, out] VARIANT * p);
2852
2853     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
2854     HRESULT maxWidth([retval, out] VARIANT * p);
2855 };
2856
2857 /*****************************************************************************
2858  *    DispHTMLCurrentStyle dispinterface
2859  */
2860 [
2861     hidden,
2862     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
2863 ]
2864 dispinterface DispHTMLCurrentStyle
2865 {
2866 properties:
2867 methods:
2868     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2869     BSTR position();
2870
2871     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2872     BSTR styleFloat();
2873
2874     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2875     VARIANT color();
2876
2877     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2878     VARIANT backgroundColor();
2879
2880     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2881     BSTR fontFamily();
2882
2883     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2884     BSTR fontStyle();
2885
2886     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2887     BSTR fontVariant();
2888
2889     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2890     VARIANT fontWeight();
2891
2892     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2893     VARIANT fontSize();
2894
2895     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2896     BSTR backgroundImage();
2897
2898     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2899     VARIANT backgroundPositionX();
2900
2901     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2902     VARIANT backgroundPositionY();
2903
2904     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2905     BSTR backgroundRepeat();
2906
2907     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2908     VARIANT borderLeftColor();
2909
2910     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2911     VARIANT borderTopColor();
2912
2913     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2914     VARIANT borderRightColor();
2915
2916     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2917     VARIANT borderBottomColor();
2918
2919     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2920     BSTR borderTopStyle();
2921
2922     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2923     BSTR borderRightStyle();
2924
2925     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2926     BSTR borderBottomStyle();
2927
2928     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2929     BSTR borderLeftStyle();
2930
2931     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2932     VARIANT borderTopWidth();
2933
2934     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2935     VARIANT borderRightWidth();
2936
2937     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2938     VARIANT borderBottomWidth();
2939
2940     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2941     VARIANT borderLeftWidth();
2942
2943     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2944     VARIANT left();
2945
2946     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2947     VARIANT top();
2948
2949     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2950     VARIANT width();
2951
2952     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2953     VARIANT height();
2954
2955     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2956     VARIANT paddingLeft();
2957
2958     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2959     VARIANT paddingTop();
2960
2961     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2962     VARIANT paddingRight();
2963
2964     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2965     VARIANT paddingBottom();
2966
2967     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2968     BSTR textAlign();
2969
2970     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2971     BSTR textDecoration();
2972
2973     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2974     BSTR display();
2975
2976     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2977     BSTR visibility();
2978
2979     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2980     VARIANT zIndex();
2981
2982     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2983     VARIANT letterSpacing();
2984
2985     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2986     VARIANT lineHeight();
2987
2988     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2989     VARIANT textIndent();
2990
2991     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2992     VARIANT verticalAlign();
2993
2994     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2995     BSTR backgroundAttachment();
2996
2997     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2998     VARIANT marginTop();
2999
3000     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3001     VARIANT marginRight();
3002
3003     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3004     VARIANT marginBottom();
3005
3006     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3007     VARIANT marginLeft();
3008
3009     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3010     BSTR clear();
3011
3012     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3013     BSTR listStyleType();
3014
3015     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3016     BSTR listStylePosition();
3017
3018     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3019     BSTR listStyleImage();
3020
3021     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3022     VARIANT clipTop();
3023
3024     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3025     VARIANT clipRight();
3026
3027     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3028     VARIANT clipBottom();
3029
3030     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3031     VARIANT clipLeft();
3032
3033     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3034     BSTR overflow();
3035
3036     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3037     BSTR pageBreakBefore();
3038
3039     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3040     BSTR pageBreakAfter();
3041
3042     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3043     BSTR cursor();
3044
3045     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3046     BSTR tableLayout();
3047
3048     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3049     BSTR borderCollapse();
3050
3051     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3052     BSTR direction();
3053
3054     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3055     BSTR behavior();
3056
3057     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3058     VARIANT getAttribute(
3059             [in] BSTR strAttributeName,
3060             [in, defaultvalue(0)] LONG lFlags);
3061
3062     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3063     BSTR unicodeBidi();
3064
3065     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3066     VARIANT right();
3067
3068     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3069     VARIANT bottom();
3070
3071     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3072     BSTR imeMode();
3073
3074     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3075     BSTR rubyAlign();
3076
3077     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3078     BSTR rubyPosition();
3079
3080     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3081     BSTR rubyOverhang();
3082
3083     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3084     BSTR textAutospace();
3085
3086     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3087     BSTR lineBreak();
3088
3089     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3090     BSTR wordBreak();
3091
3092     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3093     BSTR textJustify();
3094
3095     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3096     BSTR textJustifyTrim();
3097
3098     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3099     VARIANT textKashida();
3100
3101     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3102     BSTR blockDirection();
3103
3104     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3105     VARIANT layoutGridChar();
3106
3107     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3108     VARIANT layoutGridLine();
3109
3110     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3111     BSTR layoutGridMode();
3112
3113     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3114     BSTR layoutGridType();
3115
3116     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3117     BSTR borderStyle();
3118
3119     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3120     BSTR borderColor();
3121
3122     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3123     BSTR borderWidth();
3124
3125     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3126     BSTR padding();
3127
3128     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3129     BSTR margin();
3130
3131     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3132     BSTR accelerator();
3133
3134     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3135     BSTR overflowX();
3136
3137     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3138     BSTR overflowY();
3139
3140     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3141     BSTR textTransform();
3142
3143     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3144     BSTR layoutFlow();
3145
3146     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3147     BSTR wordWrap();
3148
3149     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3150     BSTR textUnderlinePosition();
3151
3152     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3153     VARIANT_BOOL hasLayout();
3154
3155     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3156     VARIANT scrollbarBaseColor();
3157
3158     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3159     VARIANT scrollbarFaceColor();
3160
3161     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3162     VARIANT scrollbar3dLightColor();
3163
3164     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3165     VARIANT scrollbarShadowColor();
3166
3167     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3168     VARIANT scrollbarHighlightColor();
3169
3170     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3171     VARIANT scrollbarDarkShadowColor();
3172
3173     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3174     VARIANT scrollbarArrowColor();
3175
3176     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3177     VARIANT scrollbarTrackColor();
3178
3179     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3180     BSTR writingMode();
3181
3182     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3183     VARIANT zoom();
3184
3185     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3186     BSTR filter();
3187
3188     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3189     BSTR textAlignLast();
3190
3191     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3192     VARIANT textKashidaSpace();
3193
3194     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3195     VARIANT_BOOL isBlock();
3196
3197     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3198     BSTR textOverflow();
3199
3200     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3201     VARIANT minHeight();
3202
3203     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3204     VARIANT wordSpacing();
3205
3206     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3207     BSTR whiteSpace();
3208
3209     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3210     BSTR msInterpolationMode();
3211
3212     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3213     VARIANT maxHeight();
3214
3215     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3216     VARIANT minWidth();
3217
3218     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3219     VARIANT maxWidth();
3220 }
3221
3222 [
3223     noncreatable,
3224     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3225 ]
3226 coclass HTMLCurrentStyle
3227 {
3228     [default] dispinterface DispHTMLCurrentStyle;
3229     interface IHTMLCurrentStyle;
3230     interface IHTMLCurrentStyle2;
3231     interface IHTMLCurrentStyle3;
3232     interface IHTMLCurrentStyle4;
3233 }
3234
3235 /*****************************************************************************
3236  *    IHTMLRect interface
3237  */
3238 [
3239     odl,
3240     oleautomation,
3241     dual,
3242     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3243 ]
3244 interface IHTMLRect : IDispatch
3245 {
3246     [propput, id(DISPID_IHTMLRECT_LEFT)]
3247     HRESULT left([in] LONG v);
3248
3249     [propget, id(DISPID_IHTMLRECT_LEFT)]
3250     HRESULT left([retval, out] LONG *p);
3251
3252     [propput, id(DISPID_IHTMLRECT_TOP)]
3253     HRESULT top([in] LONG v);
3254
3255     [propget, id(DISPID_IHTMLRECT_TOP)]
3256     HRESULT top([retval, out] LONG *p);
3257
3258     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3259     HRESULT right([in] LONG v);
3260
3261     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3262     HRESULT right([retval, out] LONG *p);
3263
3264     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3265     HRESULT bottom([in] LONG v);
3266
3267     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3268     HRESULT bottom([retval, out] LONG *p);
3269 }
3270
3271 /*****************************************************************************
3272  *    IHTMLRectCollection interface
3273  */
3274 [
3275     odl,
3276     oleautomation,
3277     dual,
3278     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3279 ]
3280 interface IHTMLRectCollection : IDispatch
3281 {
3282     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3283     HRESULT length([retval, out] LONG *p);
3284
3285     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3286     HRESULT _newEnum([retval, out] IUnknown **p);
3287
3288     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3289     HRESULT item(
3290         [in] VARIANT *pvarIndex,
3291         [retval, out] VARIANT *pvarResult);
3292 }
3293
3294 /*****************************************************************************
3295  *    IHTMLDOMNode interface
3296  */
3297 [
3298     odl,
3299     oleautomation,
3300     dual,
3301     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3302 ]
3303 interface IHTMLDOMNode : IDispatch
3304 {
3305     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3306     HRESULT nodeType([retval, out] LONG *p);
3307
3308     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3309     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3310
3311     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3312     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3313
3314     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3315     HRESULT childNodes([retval, out] IDispatch **p);
3316
3317     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3318     HRESULT attributes([retval, out] IDispatch **p);
3319
3320     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3321     HRESULT insertBefore(
3322         [in] IHTMLDOMNode *newChild,
3323         [optional, in] VARIANT refChild,
3324         [retval, out] IHTMLDOMNode **node);
3325
3326     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3327     HRESULT removeChild(
3328         [in] IHTMLDOMNode *oldChild,
3329         [retval, out] IHTMLDOMNode **node);
3330
3331     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3332     HRESULT replaceChild(
3333         [in] IHTMLDOMNode *newChild,
3334         [in] IHTMLDOMNode *oldChild,
3335         [retval, out] IHTMLDOMNode **node);
3336
3337     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3338     HRESULT cloneNode(
3339         [in] VARIANT_BOOL fDeep,
3340         [retval, out] IHTMLDOMNode **clonedNode);
3341
3342     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3343     HRESULT removeNode(
3344         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3345         [retval, out] IHTMLDOMNode **removed);
3346
3347     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3348     HRESULT swapNode(
3349         [in] IHTMLDOMNode *otherNode,
3350         [retval, out] IHTMLDOMNode **swappedNode);
3351
3352     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3353     HRESULT replaceNode(
3354         [in] IHTMLDOMNode *replacement,
3355         [retval, out] IHTMLDOMNode **replaced);
3356
3357     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3358     HRESULT appendChild(
3359         [in] IHTMLDOMNode *newChild,
3360         [retval, out] IHTMLDOMNode **node);
3361
3362     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3363     HRESULT nodeName([retval, out] BSTR *p);
3364
3365     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3366     HRESULT nodeValue([in] VARIANT v);
3367
3368     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3369     HRESULT nodeValue([retval, out] VARIANT *p);
3370
3371     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3372     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3373
3374     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3375     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3376
3377     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3378     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3379
3380     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3381     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3382 }
3383
3384 /*****************************************************************************
3385  *    IHTMLDOMNode2 interface
3386  */
3387 [
3388     odl,
3389     oleautomation,
3390     dual,
3391     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3392 ]
3393 interface IHTMLDOMNode2 : IDispatch
3394 {
3395     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3396     HRESULT ownerDocument([retval, out] IDispatch **p);
3397 }
3398
3399 /*****************************************************************************
3400  *    IHTMLDOMAttribute interface
3401  */
3402 [
3403     odl,
3404     oleautomation,
3405     dual,
3406     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3407 ]
3408 interface IHTMLDOMAttribute : IDispatch
3409 {
3410     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3411     HRESULT nodeName([retval, out] BSTR *p);
3412
3413     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3414     HRESULT nodeValue([in] VARIANT v);
3415
3416     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3417     HRESULT nodeValue([retval, out] VARIANT *p);
3418
3419     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3420     HRESULT specified([retval, out] VARIANT_BOOL *p);
3421 }
3422
3423 /*****************************************************************************
3424  *    IHTMLDOMTextNode interface
3425  */
3426 [
3427     odl,
3428     oleautomation,
3429     dual,
3430     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3431 ]
3432 interface IHTMLDOMTextNode : IDispatch
3433 {
3434     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3435     HRESULT data([in] BSTR v);
3436
3437     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3438     HRESULT data([out, retval] BSTR *p);
3439
3440     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3441     HRESULT toString([out, retval] BSTR *String);
3442
3443     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3444     HRESULT length([out, retval] LONG *p);
3445
3446     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3447     HRESULT splitText(
3448             [in] LONG offset,
3449             [out, retval] IHTMLDOMNode **pRetNode);
3450 }
3451
3452 /*****************************************************************************
3453  *    IHTMLDOMTextNode2 interface
3454  */
3455 [
3456     odl,
3457     oleautomation,
3458     dual,
3459     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3460 ]
3461 interface IHTMLDOMTextNode2 : IDispatch
3462 {
3463     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3464     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3465
3466     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3467     HRESULT appendData([in] BSTR bstrstring);
3468
3469     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3470     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3471
3472     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3473     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3474
3475     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3476     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3477 }
3478
3479 [
3480     noncreatable,
3481     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3482 ]
3483 coclass HTMLDOMTextNode
3484 {
3485     [default]           dispinterface DispHTMLDOMTextNode;
3486                         interface IHTMLDOMTextNode;
3487                         interface IHTMLDOMTextNode2;
3488                         interface IHTMLDOMNode;
3489                         interface IHTMLDOMNode2;
3490 }
3491
3492 /*****************************************************************************
3493  *    IHTMLDOMImplementation interface
3494  */
3495 [
3496     odl,
3497     oleautomation,
3498     dual,
3499     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3500 ]
3501 interface IHTMLDOMImplementation : IDispatch
3502 {
3503     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3504     HRESULT hasFeature(
3505         [in] BSTR bstrfeature,
3506         [optional, in] VARIANT version,
3507         [retval, out] VARIANT_BOOL *pfHasFeature);
3508 }
3509
3510 /*****************************************************************************
3511  *    DispHTMLDOMTextNode dispinterface
3512  */
3513 [
3514     hidden,
3515     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3516 ]
3517 dispinterface DispHTMLDOMTextNode
3518 {
3519 properties:
3520 methods:
3521     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3522     void data(BSTR v);
3523
3524     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3525     BSTR data();
3526
3527     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3528     BSTR toString();
3529
3530     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3531     LONG length();
3532
3533     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3534     IHTMLDOMNode *splitText([in] LONG offset);
3535
3536     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3537     BSTR substringData(
3538             [in] LONG offset,
3539             [in] LONG Count);
3540
3541     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3542     void appendData([in] BSTR bstrstring);
3543
3544     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3545     void insertData(
3546             [in] LONG offset,
3547             [in] BSTR bstrstring);
3548
3549     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3550     void deleteData(
3551             [in] LONG offset,
3552             [in] LONG Count);
3553
3554     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3555     void replaceData(
3556             [in] LONG offset,
3557             [in] LONG Count,
3558             [in] BSTR bstrstring);
3559
3560     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3561     LONG nodeType();
3562
3563     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3564     IHTMLDOMNode *parentNode();
3565
3566     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3567     VARIANT_BOOL hasChildNodes();
3568
3569     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3570     IDispatch *childNodes();
3571
3572     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3573     IDispatch *attributes();
3574
3575     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3576     IHTMLDOMNode *insertBefore(
3577             [in] IHTMLDOMNode *newChild,
3578             [in, optional] VARIANT refChild);
3579
3580     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3581     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
3582
3583     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3584     IHTMLDOMNode *replaceChild(
3585             [in] IHTMLDOMNode *newChild,
3586             [in] IHTMLDOMNode *oldChild);
3587
3588     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3589     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
3590
3591     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3592     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
3593
3594     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3595     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
3596
3597     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3598     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
3599
3600     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3601     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
3602
3603     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3604     BSTR nodeName();
3605
3606     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3607     void nodeValue(VARIANT v);
3608
3609     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3610     VARIANT nodeValue();
3611
3612     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3613     IHTMLDOMNode *firstChild();
3614
3615     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3616     IHTMLDOMNode *lastChild();
3617
3618     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3619     IHTMLDOMNode *previousSibling();
3620
3621     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3622     IHTMLDOMNode* nextSibling();
3623
3624     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3625     IDispatch *ownerDocument();
3626 }
3627
3628 /*****************************************************************************
3629  *    IHTMLDOMChildrenCollection interface
3630  */
3631 [
3632     odl,
3633     oleautomation,
3634     dual,
3635     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3636 ]
3637 interface IHTMLDOMChildrenCollection : IDispatch
3638 {
3639     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3640     HRESULT length([out, retval] LONG *p);
3641
3642     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3643     HRESULT _newEnum([out, retval] IUnknown **p);
3644
3645     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3646     HRESULT item(
3647             [in] LONG index,
3648             [out, retval] IDispatch **ppItem);
3649 }
3650
3651 /*****************************************************************************
3652  *    DispDOMChildrenCollection dispinterface
3653  */
3654 [
3655     hidden,
3656     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3657 ]
3658 dispinterface DispDOMChildrenCollection
3659 {
3660 properties:
3661 methods:
3662     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3663     LONG length();
3664
3665     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3666     IUnknown *_newEnum();
3667
3668     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3669     IDispatch *item([in] LONG index);
3670 }
3671
3672 interface IHTMLElementCollection;
3673
3674 /*****************************************************************************
3675  *    IHTMLElement interface
3676  */
3677 [
3678     odl,
3679     dual,
3680     oleautomation,
3681     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3682 ]
3683 interface IHTMLElement : IDispatch
3684 {
3685     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3686     HRESULT setAttribute(
3687         [in] BSTR strAttributeName,
3688         [in] VARIANT AttributeValue,
3689         [defaultvalue(1), in] LONG lFlags);
3690
3691     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3692     HRESULT getAttribute(
3693         [in] BSTR strAttributeName,
3694         [defaultvalue(0), in] LONG lFlags,
3695         [retval, out] VARIANT *AttributeValue);
3696
3697     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3698     HRESULT removeAttribute(
3699         [in] BSTR strAttributeName,
3700         [defaultvalue(1), in] LONG lFlags,
3701         [retval, out] VARIANT_BOOL *pfSuccess);
3702
3703     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3704     HRESULT className([in] BSTR v);
3705
3706     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3707     HRESULT className([retval, out] BSTR *p);
3708
3709     [propput, id(DISPID_IHTMLELEMENT_ID)]
3710     HRESULT id([in] BSTR v);
3711
3712     [propget, id(DISPID_IHTMLELEMENT_ID)]
3713     HRESULT id([retval, out] BSTR *p);
3714
3715     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3716     HRESULT tagName([retval, out] BSTR *p);
3717
3718     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3719     HRESULT parentElement([retval, out] IHTMLElement **p);
3720
3721     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
3722     HRESULT style([retval, out] IHTMLStyle **p);
3723
3724     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
3725     HRESULT onhelp([in] VARIANT v);
3726
3727     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
3728     HRESULT onhelp([retval, out] VARIANT *p);
3729
3730     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
3731     HRESULT onclick([in] VARIANT v);
3732
3733     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
3734     HRESULT onclick([retval, out] VARIANT *p);
3735
3736     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3737     HRESULT ondblclick([in] VARIANT v);
3738
3739     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3740     HRESULT ondblclick([retval, out] VARIANT *p);
3741
3742     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3743     HRESULT onkeydown([in] VARIANT v);
3744
3745     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3746     HRESULT onkeydown([retval, out] VARIANT *p);
3747
3748     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3749     HRESULT onkeyup([in] VARIANT v);
3750
3751     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3752     HRESULT onkeyup([retval, out] VARIANT *p);
3753
3754     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3755     HRESULT onkeypress([in] VARIANT v);
3756
3757     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3758     HRESULT onkeypress([retval, out] VARIANT *p);
3759
3760     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3761     HRESULT onmouseout([in] VARIANT v);
3762
3763     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3764     HRESULT onmouseout([retval, out] VARIANT *p);
3765
3766     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3767     HRESULT onmouseover([in] VARIANT v);
3768
3769     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3770     HRESULT onmouseover([retval, out] VARIANT *p);
3771
3772     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3773     HRESULT onmousemove([in] VARIANT v);
3774
3775     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3776     HRESULT onmousemove([retval, out] VARIANT *p);
3777
3778     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3779     HRESULT onmousedown([in] VARIANT v);
3780
3781     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3782     HRESULT onmousedown([retval, out] VARIANT *p);
3783
3784     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3785     HRESULT onmouseup([in] VARIANT v);
3786
3787     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3788     HRESULT onmouseup([retval, out] VARIANT *p);
3789
3790     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3791     HRESULT document([retval, out] IDispatch **p);
3792
3793     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
3794     HRESULT title([in] BSTR v);
3795
3796     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
3797     HRESULT title([retval, out] BSTR *p);
3798
3799     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3800     HRESULT language([in] BSTR v);
3801
3802     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3803     HRESULT language([retval, out] BSTR *p);
3804
3805     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3806     HRESULT onselectstart([in] VARIANT v);
3807
3808     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3809     HRESULT onselectstart([retval, out] VARIANT *p);
3810
3811     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3812     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
3813
3814     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3815     HRESULT contains(
3816         [in] IHTMLElement *pChild,
3817         [retval, out] VARIANT_BOOL *pfResult);
3818
3819     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
3820     HRESULT sourceIndex([retval, out] LONG *p);
3821
3822     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3823     HRESULT recordNumber([retval, out] VARIANT *p);
3824
3825     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3826     HRESULT lang([in] BSTR v);
3827
3828     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3829     HRESULT lang([retval, out] BSTR *p);
3830
3831     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3832     HRESULT offsetLeft([retval, out] LONG *p);
3833
3834     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3835     HRESULT offsetTop([retval, out] LONG *p);
3836
3837     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3838     HRESULT offsetWidth([retval, out] LONG *p);
3839
3840     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3841     HRESULT offsetHeight([retval, out] LONG *p);
3842
3843     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3844     HRESULT offsetParent([retval, out] IHTMLElement **p);
3845
3846     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3847     HRESULT innerHTML([in] BSTR v);
3848
3849     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3850     HRESULT innerHTML([retval, out] BSTR *p);
3851
3852     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3853     HRESULT innerText([in] BSTR v);
3854
3855     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3856     HRESULT innerText([retval, out] BSTR *p);
3857
3858     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3859     HRESULT outerHTML([in] BSTR v);
3860
3861     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3862     HRESULT outerHTML([retval, out] BSTR *p);
3863
3864     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3865     HRESULT outerText([in] BSTR v);
3866
3867     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3868     HRESULT outerText([retval, out] BSTR *p);
3869
3870     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
3871     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
3872
3873     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
3874     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
3875
3876     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
3877     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
3878
3879     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
3880     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
3881
3882     [id(DISPID_IHTMLELEMENT_CLICK)]
3883     HRESULT click();
3884
3885     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
3886     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
3887
3888     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3889     HRESULT ondragstart([in] VARIANT v);
3890
3891     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3892     HRESULT ondragstart([retval, out] VARIANT *p);
3893
3894     [id(DISPID_IHTMLELEMENT_TOSTRING)]
3895     HRESULT toString([retval, out] BSTR *String);
3896
3897     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3898     HRESULT onbeforeupdate([in] VARIANT v);
3899
3900     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3901     HRESULT onbeforeupdate([retval, out] VARIANT *p);
3902
3903     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3904     HRESULT onafterupdate([in] VARIANT v);
3905
3906     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3907     HRESULT onafterupdate([retval, out] VARIANT *p);
3908
3909     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3910     HRESULT onerrorupdate([in] VARIANT v);
3911
3912     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3913     HRESULT onerrorupdate([retval, out] VARIANT *p);
3914
3915     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3916     HRESULT onrowexit([in] VARIANT v);
3917
3918     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3919     HRESULT onrowexit([retval, out] VARIANT *p);
3920
3921     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3922     HRESULT onrowenter([in] VARIANT v);
3923
3924     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3925     HRESULT onrowenter([retval, out] VARIANT *p);
3926
3927     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3928     HRESULT ondatasetchanged([in] VARIANT v);
3929
3930     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3931     HRESULT ondatasetchanged([retval, out] VARIANT *p);
3932
3933     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3934     HRESULT ondataavailable([in] VARIANT v);
3935
3936     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3937     HRESULT ondataavailable([retval, out] VARIANT *p);
3938
3939     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3940     HRESULT ondatasetcomplete([in] VARIANT v);
3941
3942     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3943     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
3944
3945     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3946     HRESULT onfilterchange([in] VARIANT v);
3947
3948     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3949     HRESULT onfilterchange([retval, out] VARIANT *p);
3950
3951     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3952     HRESULT children([retval, out] IDispatch **p);
3953
3954     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3955     HRESULT all([retval, out] IDispatch **p);
3956 }
3957
3958 /*****************************************************************************
3959  *    IHTMLElement2 interface
3960  */
3961 [
3962     odl,
3963     oleautomation,
3964     dual,
3965     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
3966 ]
3967 interface IHTMLElement2 : IDispatch
3968 {
3969     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3970     HRESULT scopeName([retval, out] BSTR *p);
3971
3972     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3973     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
3974
3975     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3976     HRESULT releaseCapture();
3977
3978     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3979     HRESULT onlosecapture([in] VARIANT v);
3980
3981     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3982     HRESULT onlosecapture([retval, out] VARIANT *p);
3983
3984     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3985     HRESULT componentFromPoint(
3986         [in] LONG x,
3987         [in] LONG y,
3988         [retval, out] BSTR *component);
3989
3990     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3991     HRESULT doScroll([optional, in] VARIANT component);
3992
3993     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3994     HRESULT onscroll([in] VARIANT v);
3995
3996     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3997     HRESULT onscroll([retval, out] VARIANT *p);
3998
3999     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4000     HRESULT ondrag([in] VARIANT v);
4001
4002     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4003     HRESULT ondrag([retval, out] VARIANT *p);
4004
4005     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4006     HRESULT ondragend([in] VARIANT v);
4007
4008     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4009     HRESULT ondragend([retval, out] VARIANT *p);
4010
4011     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4012     HRESULT ondragenter([in] VARIANT v);
4013
4014     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4015     HRESULT ondragenter([retval, out] VARIANT *p);
4016
4017     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4018     HRESULT ondragover([in] VARIANT v);
4019
4020     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4021     HRESULT ondragover([retval, out] VARIANT *p);
4022
4023     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4024     HRESULT ondragleave([in] VARIANT v);
4025
4026     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4027     HRESULT ondragleave([retval, out] VARIANT *p);
4028
4029     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4030     HRESULT ondrop([in] VARIANT v);
4031
4032     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4033     HRESULT ondrop([retval, out] VARIANT *p);
4034
4035     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4036     HRESULT onbeforecut([in] VARIANT v);
4037
4038     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4039     HRESULT onbeforecut([retval, out] VARIANT *p);
4040
4041     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4042     HRESULT oncut([in] VARIANT v);
4043
4044     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4045     HRESULT oncut([retval, out] VARIANT *p);
4046
4047     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4048     HRESULT onbeforecopy([in] VARIANT v);
4049
4050     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4051     HRESULT onbeforecopy([retval, out] VARIANT *p);
4052
4053     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4054     HRESULT oncopy([in] VARIANT v);
4055
4056     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4057     HRESULT oncopy([retval, out] VARIANT *p);
4058
4059     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4060     HRESULT onbeforepaste([in] VARIANT v);
4061
4062     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4063     HRESULT onbeforepaste([retval, out] VARIANT *p);
4064
4065     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4066     HRESULT onpaste([in] VARIANT v);
4067
4068     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4069     HRESULT onpaste([retval, out] VARIANT *p);
4070
4071     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4072     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
4073
4074     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4075     HRESULT onpropertychange([in] VARIANT v);
4076
4077     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4078     HRESULT onpropertychange([retval, out] VARIANT *p);
4079
4080     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4081     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
4082
4083     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4084     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
4085
4086     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4087     HRESULT setExpression(
4088         [in] BSTR propname,
4089         [in] BSTR expression,
4090         [defaultvalue(""), in] BSTR language);
4091
4092     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4093     HRESULT getExpression(
4094         [in] BSTR propname,
4095         [retval, out] VARIANT *expression);
4096
4097     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4098     HRESULT removeExpression(
4099         [in] BSTR propname,
4100         [retval, out] VARIANT_BOOL *pfSuccess);
4101
4102     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4103     HRESULT tabIndex([in] short v);
4104
4105     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4106     HRESULT tabIndex([retval, out] short *p);
4107
4108     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4109     HRESULT focus();
4110
4111     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4112     HRESULT accessKey([in] BSTR v);
4113
4114     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4115     HRESULT accessKey([retval, out] BSTR *p);
4116
4117     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4118     HRESULT onblur([in] VARIANT v);
4119
4120     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4121     HRESULT onblur([retval, out] VARIANT *p);
4122
4123     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4124     HRESULT onfocus([in] VARIANT v);
4125
4126     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4127     HRESULT onfocus([retval, out] VARIANT *p);
4128
4129     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4130     HRESULT onresize([in] VARIANT v);
4131
4132     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4133     HRESULT onresize([retval, out] VARIANT *p);
4134
4135     [id(DISPID_IHTMLELEMENT2_BLUR)]
4136     HRESULT blur();
4137
4138     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4139     HRESULT addFilter([in] IUnknown *pUnk);
4140
4141     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4142     HRESULT removeFilter([in] IUnknown *pUnk);
4143
4144     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4145     HRESULT clientHeight([retval, out] LONG *p);
4146
4147     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4148     HRESULT clientWidth([retval, out] LONG *p);
4149
4150     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4151     HRESULT clientTop([retval, out] LONG *p);
4152
4153     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4154     HRESULT clientLeft([retval, out] LONG *p);
4155
4156     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4157     HRESULT attachEvent(
4158         [in] BSTR event,
4159         [in] IDispatch *pDisp,
4160         [retval, out] VARIANT_BOOL *pfResult);
4161
4162     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4163     HRESULT detachEvent(
4164         [in] BSTR event,
4165         [in] IDispatch *pDisp);
4166
4167     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4168     HRESULT readyState([retval, out] VARIANT *p);
4169
4170     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4171     HRESULT onreadystatechange([in] VARIANT v);
4172
4173     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4174     HRESULT onreadystatechange([retval, out] VARIANT *p);
4175
4176     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4177     HRESULT onrowsdelete([in] VARIANT v);
4178
4179     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4180     HRESULT onrowsdelete([retval, out] VARIANT *p);
4181
4182     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4183     HRESULT onrowsinserted([in] VARIANT v);
4184
4185     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4186     HRESULT onrowsinserted([retval, out] VARIANT *p);
4187
4188     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4189     HRESULT oncellchange([in] VARIANT v);
4190
4191     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4192     HRESULT oncellchange([retval, out] VARIANT *p);
4193
4194     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4195     HRESULT dir([in] BSTR v);
4196
4197     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4198     HRESULT dir([retval, out] BSTR *p);
4199
4200     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4201     HRESULT createControlRange([retval, out] IDispatch **range);
4202
4203     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4204     HRESULT scrollHeight([retval, out] LONG *p);
4205
4206     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4207     HRESULT scrollWidth([retval, out] LONG *p);
4208
4209     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4210     HRESULT scrollTop([in] LONG v);
4211
4212     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4213     HRESULT scrollTop([retval, out] LONG *p);
4214
4215     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4216     HRESULT scrollLeft([in] LONG v);
4217
4218     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4219     HRESULT scrollLeft([retval, out] LONG *p);
4220
4221     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4222     HRESULT clearAttributes();
4223
4224     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
4225     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
4226
4227     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4228     HRESULT oncontextmenu([in] VARIANT v);
4229
4230     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4231     HRESULT oncontextmenu([retval, out] VARIANT *p);
4232
4233     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4234     HRESULT insertAdjacentElement(
4235         [in] BSTR where,
4236         [in] IHTMLElement *insertedElement,
4237         [retval, out] IHTMLElement **inserted);
4238
4239     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4240     HRESULT applyElement(
4241         [in] IHTMLElement *apply,
4242         [in] BSTR where,
4243         [retval, out] IHTMLElement **applied);
4244
4245     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4246     HRESULT getAdjacentText(
4247         [in] BSTR where,
4248         [retval, out] BSTR *text);
4249
4250     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4251     HRESULT replaceAdjacentText(
4252         [in] BSTR where,
4253         [in] BSTR newText,
4254         [retval, out] BSTR *oldText);
4255
4256     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4257     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
4258
4259     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4260     HRESULT addBehavior(
4261         [in] BSTR bstrUrl,
4262         [optional, in] VARIANT *pvarFactory,
4263         [retval, out] LONG *pCookie);
4264
4265     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4266     HRESULT removeBehavior(
4267         [in] LONG cookie,
4268         [retval, out] VARIANT_BOOL *pfResult);
4269
4270     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4271     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
4272
4273     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4274     HRESULT behaviorUrns([retval, out] IDispatch **p);
4275
4276     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4277     HRESULT tagUrn([in] BSTR v);
4278
4279     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4280     HRESULT tagUrn([retval, out] BSTR *p);
4281
4282     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4283     HRESULT onbeforeeditfocus([in] VARIANT v);
4284
4285     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4286     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
4287
4288     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4289     HRESULT readyStateValue([retval, out] LONG *p);
4290
4291     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4292     HRESULT getElementsByTagName(
4293         [in] BSTR v,
4294         [retval, out] IHTMLElementCollection **pelColl);
4295 }
4296
4297
4298 /*****************************************************************************
4299  *    IHTMLElement3 interface
4300  */
4301 [
4302     odl,
4303     oleautomation,
4304     dual,
4305     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
4306 ]
4307 interface IHTMLElement3 : IDispatch
4308 {
4309     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
4310     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
4311
4312     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
4313     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
4314
4315     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
4316     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
4317
4318     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4319     HRESULT onlayoutcomplete([in] VARIANT v);
4320
4321     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4322     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
4323
4324     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4325     HRESULT onpage([in] VARIANT v);
4326
4327     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4328     HRESULT onpage([retval, out] VARIANT * p);
4329
4330     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4331     HRESULT inflateBlock([in] VARIANT_BOOL v);
4332
4333     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4334     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
4335
4336     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4337     HRESULT onbeforedeactivate([in] VARIANT v);
4338
4339     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4340     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
4341
4342     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
4343
4344     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4345     HRESULT contentEditable([in] BSTR v);
4346
4347     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4348     HRESULT contentEditable([retval, out] BSTR * p);
4349
4350     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
4351     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
4352
4353     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4354     HRESULT hideFocus([in] VARIANT_BOOL v);
4355
4356     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4357     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
4358
4359     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4360     HRESULT disabled([in] VARIANT_BOOL v);
4361
4362     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4363     HRESULT disabled([retval, out] VARIANT_BOOL * p);
4364
4365     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4366     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
4367
4368     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4369     HRESULT onmove([in] VARIANT v);
4370
4371     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4372     HRESULT onmove([retval, out] VARIANT * p);
4373
4374     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4375     HRESULT oncontrolselect([in] VARIANT v);
4376
4377     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4378     HRESULT oncontrolselect([retval, out] VARIANT * p);
4379
4380     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4381     HRESULT fireEvent(
4382         [in] BSTR bstrEventName,
4383         [optional, in] VARIANT* pvarEventObject,
4384         [retval, out] VARIANT_BOOL* pfCancelled);
4385
4386     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4387     HRESULT onresizestart([in] VARIANT v);
4388
4389     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4390     HRESULT onresizestart([retval, out] VARIANT * p);
4391
4392     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4393     HRESULT onresizeend([in] VARIANT v);
4394
4395     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4396     HRESULT onresizeend([retval, out] VARIANT * p);
4397
4398     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4399     HRESULT onmovestart([in] VARIANT v);
4400
4401     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4402     HRESULT onmovestart([retval, out] VARIANT * p);
4403
4404     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4405     HRESULT onmoveend([in] VARIANT v);
4406
4407     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4408     HRESULT onmoveend([retval, out] VARIANT * p);
4409
4410     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4411     HRESULT onmouseenter([in] VARIANT v);
4412
4413     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4414     HRESULT onmouseenter([retval, out] VARIANT * p);
4415
4416     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4417     HRESULT onmouseleave([in] VARIANT v);
4418
4419     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4420     HRESULT onmouseleave([retval, out] VARIANT * p);
4421
4422     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4423     HRESULT onactivate([in] VARIANT v);
4424
4425     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4426     HRESULT onactivate([retval, out] VARIANT * p);
4427
4428     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4429     HRESULT ondeactivate([in] VARIANT v);
4430
4431     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4432     HRESULT ondeactivate([retval, out] VARIANT * p);
4433
4434     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
4435     VARIANT_BOOL* pfRet);
4436
4437     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4438     HRESULT glyphMode([retval, out] LONG * p);
4439 };
4440 /*****************************************************************************
4441  *    IHTMLElement4 interface
4442  */
4443 [
4444     odl,
4445     oleautomation,
4446     dual,
4447     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
4448 ]
4449 interface IHTMLElement4 : IDispatch
4450 {
4451     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4452     HRESULT onmousewheel([in] VARIANT v);
4453
4454     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4455     HRESULT onmousewheel([retval, out] VARIANT * p);
4456
4457     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4458     HRESULT normalize();
4459
4460     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4461     HRESULT getAttributeNode([in] BSTR bstrname,
4462         [retval, out] IHTMLDOMAttribute** ppAttribute);
4463
4464     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4465     HRESULT setAttributeNode(
4466         [in] IHTMLDOMAttribute* pattr,
4467         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4468
4469     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4470     HRESULT removeAttributeNode(
4471         [in] IHTMLDOMAttribute* pattr,
4472         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4473
4474     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4475     HRESULT onbeforeactivate([in] VARIANT v);
4476
4477     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4478     HRESULT onbeforeactivate([retval, out] VARIANT * p);
4479
4480     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4481     HRESULT onfocusin([in] VARIANT v);
4482
4483     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4484     HRESULT onfocusin([retval, out] VARIANT * p);
4485
4486     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4487     HRESULT onfocusout([in] VARIANT v);
4488
4489     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4490     HRESULT onfocusout([retval, out] VARIANT * p);
4491 };
4492
4493 /*****************************************************************************
4494  *    IHTMLGenericElement interface
4495  */
4496 [
4497     odl,
4498     oleautomation,
4499     dual,
4500     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
4501 ]
4502 interface IHTMLGenericElement : IDispatch
4503 {
4504     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
4505     HRESULT recordset([out, retval] IDispatch **p);
4506
4507     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
4508     HRESULT namedRecordset(
4509             [in] BSTR dataMember,
4510             [in, optional] VARIANT *hierarchy,
4511             [out, retval] IDispatch **ppRecordset);
4512 }
4513
4514 /*****************************************************************************
4515  *    DispHTMLGenericElement dispinterface
4516  */
4517 [
4518     hidden,
4519     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
4520 ]
4521 dispinterface DispHTMLGenericElement
4522 {
4523 properties:
4524 methods:
4525     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4526     void setAttribute(
4527             [in] BSTR strAttributeName,
4528             [in] VARIANT AttributeValue,
4529             [in, defaultvalue(1)] LONG lFlags);
4530
4531     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4532     VARIANT getAttribute(
4533              [in] BSTR strAttributeName,
4534              [in, defaultvalue(0)] LONG lFlags);
4535
4536     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4537     VARIANT_BOOL removeAttribute(
4538             [in] BSTR strAttributeName,
4539             [in, defaultvalue(1)] LONG lFlags);
4540
4541     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4542     void className(BSTR v);
4543
4544     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4545     BSTR className();
4546
4547     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
4548     void id(BSTR v);
4549
4550     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
4551     BSTR id();
4552
4553     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4554     BSTR tagName();
4555
4556     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4557     IHTMLElement *parentElement();
4558
4559     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
4560     IHTMLStyle *style();
4561
4562     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4563     void onhelp(VARIANT v);
4564
4565     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4566     VARIANT onhelp();
4567
4568     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4569     void onclick(VARIANT v);
4570
4571     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4572     VARIANT onclick();
4573
4574     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4575     void ondblclick(VARIANT v);
4576
4577     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4578     VARIANT ondblclick();
4579
4580     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4581     void onkeydown(VARIANT v);
4582
4583     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4584     VARIANT onkeydown();
4585
4586     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4587     void onkeyup(VARIANT v);
4588
4589     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4590     VARIANT onkeyup();
4591
4592     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4593     void onkeypress(VARIANT v);
4594
4595     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4596     VARIANT onkeypress();
4597
4598     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4599     void onmouseout(VARIANT v);
4600
4601     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4602     VARIANT onmouseout();
4603
4604     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4605     void onmouseover(VARIANT v);
4606
4607     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4608     VARIANT onmouseover();
4609
4610     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4611     void onmousemove(VARIANT v);
4612
4613     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4614     VARIANT onmousemove();
4615
4616     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4617     void onmousedown(VARIANT v);
4618
4619     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4620     VARIANT onmousedown();
4621
4622     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4623     void onmouseup(VARIANT v);
4624
4625     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4626     VARIANT onmouseup();
4627
4628     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4629     IDispatch *document();
4630
4631     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4632     void title(BSTR v);
4633
4634     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4635     BSTR title();
4636
4637     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4638     void language(BSTR v);
4639
4640     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4641     BSTR language();
4642
4643     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4644     void onselectstart(VARIANT v);
4645
4646     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4647     VARIANT onselectstart();
4648
4649     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4650     void scrollIntoView([in, optional] VARIANT varargStart);
4651
4652     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4653     VARIANT_BOOL contains([in] IHTMLElement *pChild);
4654
4655     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
4656     LONG sourceIndex();
4657
4658     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4659     VARIANT recordNumber();
4660
4661     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4662     void lang(BSTR v);
4663
4664     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4665     BSTR lang();
4666
4667     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4668     LONG offsetLeft();
4669
4670     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4671     LONG offsetTop();
4672
4673     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4674     LONG offsetWidth();
4675
4676     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4677     LONG offsetHeight();
4678
4679     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4680     IHTMLElement *offsetParent();
4681
4682     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4683     void innerHTML(BSTR v);
4684
4685     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4686     BSTR innerHTML();
4687
4688     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4689     void innerText(BSTR v);
4690
4691     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4692     BSTR innerText();
4693
4694     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4695     void outerHTML(BSTR v);
4696
4697     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4698     BSTR outerHTML();
4699
4700     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4701     void outerText(BSTR v);
4702
4703     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4704     BSTR outerText();
4705
4706     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4707     void insertAdjacentHTML(
4708             [in] BSTR where,
4709             [in] BSTR html);
4710
4711     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4712     void insertAdjacentText(
4713             [in] BSTR where,
4714             [in] BSTR text);
4715
4716     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4717     IHTMLElement *parentTextEdit();
4718
4719     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4720     VARIANT_BOOL isTextEdit();
4721
4722     [id(DISPID_IHTMLELEMENT_CLICK)]
4723     void click();
4724
4725     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4726     IHTMLFiltersCollection *filters();
4727
4728     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4729     void ondragstart(VARIANT v);
4730
4731     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4732     VARIANT ondragstart();
4733
4734     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4735     BSTR toString();
4736
4737     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4738     void onbeforeupdate(VARIANT v);
4739
4740     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4741     VARIANT onbeforeupdate();
4742
4743     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4744     void onafterupdate(VARIANT v);
4745
4746     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4747     VARIANT onafterupdate();
4748
4749     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4750     void onerrorupdate(VARIANT v);
4751
4752     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4753     VARIANT onerrorupdate();
4754
4755     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4756     void onrowexit(VARIANT v);
4757
4758     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4759     VARIANT onrowexit();
4760
4761     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4762     void onrowenter(VARIANT v);
4763
4764     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4765     VARIANT onrowenter();
4766
4767     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4768     void ondatasetchanged(VARIANT v);
4769
4770     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4771     VARIANT ondatasetchanged();
4772
4773     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4774     void ondataavailable(VARIANT v);
4775
4776     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4777     VARIANT ondataavailable();
4778
4779     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4780     void ondatasetcomplete(VARIANT v);
4781
4782     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4783     VARIANT ondatasetcomplete();
4784
4785     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4786     void onfilterchange(VARIANT v);
4787
4788     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4789     VARIANT onfilterchange();
4790
4791     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4792     IDispatch *children();
4793
4794     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4795     IDispatch *all();
4796
4797     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4798     BSTR scopeName();
4799
4800     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4801     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
4802
4803     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4804     void releaseCapture();
4805
4806     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4807     void onlosecapture(VARIANT v);
4808
4809     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4810     VARIANT onlosecapture();
4811
4812     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4813     BSTR componentFromPoint(
4814             [in] LONG x,
4815             [in] LONG y);
4816
4817     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4818     void doScroll([in, optional] VARIANT component);
4819
4820     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4821     void onscroll(VARIANT v);
4822
4823     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4824     VARIANT onscroll();
4825
4826     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4827     void ondrag(VARIANT v);
4828
4829     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4830     VARIANT ondrag();
4831
4832     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4833     void ondragend(VARIANT v);
4834
4835     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4836     VARIANT ondragend();
4837
4838     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4839     void ondragenter(VARIANT v);
4840
4841     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4842     VARIANT ondragenter();
4843
4844     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4845     void ondragover(VARIANT v);
4846
4847     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4848     VARIANT ondragover();
4849
4850     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4851     void ondragleave(VARIANT v);
4852
4853     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4854     VARIANT ondragleave();
4855
4856     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4857     void ondrop(VARIANT v);
4858
4859     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4860     VARIANT ondrop();
4861
4862     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4863     void onbeforecut(VARIANT v);
4864
4865     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4866     VARIANT onbeforecut();
4867
4868     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4869     void oncut(VARIANT v);
4870
4871     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4872     VARIANT oncut();
4873
4874     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4875     void onbeforecopy(VARIANT v);
4876
4877     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4878     VARIANT onbeforecopy();
4879
4880     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4881     void oncopy(VARIANT v);
4882
4883     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4884     VARIANT oncopy();
4885
4886     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4887     void onbeforepaste(VARIANT v);
4888
4889     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4890     VARIANT onbeforepaste();
4891
4892     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4893     void onpaste(VARIANT v);
4894
4895     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4896     VARIANT onpaste();
4897
4898     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4899     IHTMLCurrentStyle *currentStyle();
4900
4901     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4902     void onpropertychange(VARIANT v);
4903
4904     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4905     VARIANT onpropertychange();
4906
4907     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4908     IHTMLRectCollection *getClientRects();
4909
4910     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4911     IHTMLRect *getBoundingClientRect();
4912
4913     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4914     void setExpression(
4915             [in] BSTR propname,
4916             [in] BSTR expression,
4917             [in, defaultvalue("")] BSTR language);
4918
4919     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4920     VARIANT getExpression([in] BSTR propname);
4921
4922     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4923     VARIANT_BOOL removeExpression([in] BSTR propname);
4924
4925     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4926     void tabIndex(short v);
4927
4928     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4929     short tabIndex();
4930
4931     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4932     void focus();
4933
4934     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4935     void accessKey(BSTR v);
4936
4937     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4938     BSTR accessKey();
4939
4940     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4941     void onblur(VARIANT v);
4942
4943     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4944     VARIANT onblur();
4945
4946     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4947     void onfocus(VARIANT v);
4948
4949     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4950     VARIANT onfocus();
4951
4952     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4953     void onresize(VARIANT v);
4954
4955     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4956     VARIANT onresize();
4957
4958     [id(DISPID_IHTMLELEMENT2_BLUR)]
4959     void blur();
4960
4961     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4962     void addFilter([in] IUnknown *pUnk);
4963
4964     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4965     void removeFilter([in] IUnknown *pUnk);
4966
4967     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4968     LONG clientHeight();
4969
4970     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4971     LONG clientWidth();
4972
4973     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4974     LONG clientTop();
4975
4976     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4977     LONG clientLeft();
4978
4979     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4980     VARIANT_BOOL attachEvent(
4981             [in] BSTR event,
4982             [in] IDispatch *pDisp);
4983
4984     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4985     void detachEvent(
4986             [in] BSTR event,
4987             [in] IDispatch *pDisp);
4988
4989     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4990     VARIANT readyState();
4991
4992     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4993     void onreadystatechange(VARIANT v);
4994
4995     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4996     VARIANT onreadystatechange();
4997
4998     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4999     void onrowsdelete(VARIANT v);
5000
5001     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5002     VARIANT onrowsdelete();
5003
5004     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5005     void onrowsinserted(VARIANT v);
5006
5007     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5008      VARIANT onrowsinserted();
5009
5010     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5011      void oncellchange(VARIANT v);
5012
5013     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5014     VARIANT oncellchange();
5015
5016     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5017     void dir(BSTR v);
5018
5019     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5020     BSTR dir();
5021
5022     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5023     IDispatch *createControlRange();
5024
5025     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5026     LONG scrollHeight();
5027
5028     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5029     LONG scrollWidth();
5030
5031     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5032     void scrollTop(LONG v);
5033
5034     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5035     LONG scrollTop();
5036
5037     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5038     void scrollLeft(LONG v);
5039
5040     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5041     LONG scrollLeft();
5042
5043     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5044     void clearAttributes();
5045
5046     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5047     void oncontextmenu(VARIANT v);
5048
5049     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5050     VARIANT oncontextmenu();
5051
5052     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5053     IHTMLElement *insertAdjacentElement(
5054             [in] BSTR where,
5055             [in] IHTMLElement *insertedElement);
5056
5057     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5058     IHTMLElement *applyElement(
5059             [in] IHTMLElement *apply,
5060             [in] BSTR where);
5061
5062     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5063     BSTR getAdjacentText([in] BSTR where);
5064
5065     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5066     BSTR replaceAdjacentText(
5067             [in] BSTR where,
5068             [in] BSTR newText);
5069
5070     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5071     VARIANT_BOOL canHaveChildren();
5072
5073     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5074     LONG addBehavior(
5075             [in] BSTR bstrUrl,
5076             [in, optional] VARIANT *pvarFactory);
5077
5078     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5079     VARIANT_BOOL removeBehavior([in] LONG cookie);
5080
5081     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5082     IHTMLStyle *runtimeStyle();
5083
5084     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5085     IDispatch *behaviorUrns();
5086
5087     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5088     void tagUrn(BSTR v);
5089
5090     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5091     BSTR tagUrn();
5092
5093     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5094     void onbeforeeditfocus(VARIANT v);
5095
5096     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5097     VARIANT onbeforeeditfocus();
5098
5099     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5100     LONG readyStateValue();
5101
5102     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5103     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
5104
5105     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
5106     void mergeAttributes(
5107             [in] IHTMLElement *mergeThis,
5108             [in, optional] VARIANT *pvarFlags);
5109
5110     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5111     VARIANT_BOOL isMultiLine();
5112
5113     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5114     VARIANT_BOOL canHaveHTML();
5115
5116     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5117     void onlayoutcomplete(VARIANT v);
5118
5119     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5120     VARIANT onlayoutcomplete();
5121
5122     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5123     void onpage(VARIANT v);
5124
5125     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5126     VARIANT onpage();
5127
5128     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5129     void inflateBlock(VARIANT_BOOL v);
5130
5131     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5132     VARIANT_BOOL inflateBlock();
5133
5134     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5135     void onbeforedeactivate(VARIANT v);
5136
5137     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5138     VARIANT onbeforedeactivate();
5139
5140     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
5141     void setActive();
5142
5143     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5144     void contentEditable(BSTR v);
5145
5146     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5147     BSTR contentEditable();
5148
5149     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5150     VARIANT_BOOL isContentEditable();
5151
5152     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5153     void hideFocus(VARIANT_BOOL v);
5154
5155     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5156     VARIANT_BOOL hideFocus();
5157
5158     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5159     void disabled(VARIANT_BOOL v);
5160
5161     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5162     VARIANT_BOOL disabled();
5163
5164     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5165     VARIANT_BOOL isDisabled();
5166
5167     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5168     void onmove(VARIANT v);
5169
5170     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5171     VARIANT onmove();
5172
5173     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5174     void oncontrolselect(VARIANT v);
5175
5176     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5177     VARIANT oncontrolselect();
5178
5179     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5180     VARIANT_BOOL fireEvent(
5181             [in] BSTR bstrEventName,
5182             [in, optional] VARIANT *pvarEventObject);
5183
5184     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5185     void onresizestart(VARIANT v);
5186
5187     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5188     VARIANT onresizestart();
5189
5190     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5191     void onresizeend(VARIANT v);
5192
5193     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5194     VARIANT onresizeend();
5195
5196     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5197     void onmovestart(VARIANT v);
5198
5199     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5200     VARIANT onmovestart();
5201
5202     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5203     void onmoveend(VARIANT v);
5204
5205     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5206     VARIANT onmoveend();
5207
5208     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5209     void onmouseenter(VARIANT v);
5210
5211     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5212     VARIANT onmouseenter();
5213
5214     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5215     void onmouseleave(VARIANT v);
5216
5217     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5218     VARIANT onmouseleave();
5219
5220     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5221     void onactivate(VARIANT v);
5222
5223     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5224     VARIANT onactivate();
5225
5226     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5227     void ondeactivate(VARIANT v);
5228
5229     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5230     VARIANT ondeactivate();
5231
5232     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
5233     VARIANT_BOOL dragDrop();
5234
5235     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5236     LONG glyphMode();
5237
5238     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5239     void onmousewheel(VARIANT v);
5240
5241     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5242     VARIANT onmousewheel();
5243
5244     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5245     void normalize();
5246
5247     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5248     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
5249
5250     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5251     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
5252
5253     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5254     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
5255
5256     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5257     void onbeforeactivate(VARIANT v);
5258
5259     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5260     VARIANT onbeforeactivate();
5261
5262     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5263     void onfocusin(VARIANT v);
5264
5265     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5266     VARIANT onfocusin();
5267
5268     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5269     void onfocusout(VARIANT v);
5270
5271     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5272     VARIANT onfocusout();
5273
5274     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5275     LONG uniqueNumber();
5276
5277     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5278     BSTR uniqueID();
5279
5280     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
5281     LONG nodeType();
5282
5283     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
5284     IHTMLDOMNode *parentNode();
5285
5286     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
5287     VARIANT_BOOL hasChildNodes();
5288
5289     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
5290     IDispatch *childNodes();
5291
5292     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
5293     IDispatch *attributes();
5294
5295     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
5296     IHTMLDOMNode *insertBefore(
5297             [in] IHTMLDOMNode *newChild,
5298             [in, optional] VARIANT refChild);
5299
5300     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
5301     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
5302
5303     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
5304     IHTMLDOMNode *replaceChild(
5305             [in] IHTMLDOMNode *newChild,
5306             [in] IHTMLDOMNode *oldChild);
5307
5308     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
5309     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
5310
5311     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
5312     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
5313
5314     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
5315     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
5316
5317     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
5318     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
5319
5320     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
5321     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
5322
5323     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
5324     BSTR nodeName();
5325
5326     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5327     void nodeValue(VARIANT v);
5328
5329     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5330     VARIANT nodeValue();
5331
5332     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
5333     IHTMLDOMNode *firstChild();
5334
5335     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
5336     IHTMLDOMNode *lastChild();
5337
5338     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
5339     IHTMLDOMNode *previousSibling();
5340
5341     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
5342     IHTMLDOMNode *nextSibling();
5343
5344     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
5345     IDispatch *ownerDocument();
5346
5347     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5348     IDispatch *recordset();
5349
5350     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5351     IDispatch *namedRecordset(
5352             [in] BSTR dataMember,
5353             [in, optional] VARIANT *hierarchy);
5354 }
5355
5356 /*****************************************************************************
5357  *    IHTMLStyleSheetRule interface
5358  */
5359 [
5360     odl,
5361     oleautomation,
5362     dual,
5363     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
5364 ]
5365 interface IHTMLStyleSheetRule : IDispatch
5366 {
5367     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5368     HRESULT selectorText([in] BSTR v);
5369
5370     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5371     HRESULT selectorText([retval, out] BSTR *p);
5372
5373     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
5374     HRESULT style([retval, out] IHTMLRuleStyle **p);
5375
5376     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5377     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5378 }
5379
5380 /*****************************************************************************
5381  *    IHTMLStyleSheetRulesCollection interface
5382  */
5383 [
5384     odl,
5385     oleautomation,
5386     dual,
5387     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5388 ]
5389 interface IHTMLStyleSheetRulesCollection : IDispatch
5390 {
5391     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5392     HRESULT length([retval, out] LONG *p);
5393
5394     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5395     HRESULT item(
5396         [in] LONG index,
5397         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5398 }
5399
5400 [
5401     odl,
5402     oleautomation,
5403     dual,
5404     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
5405 ]
5406 interface IHTMLStyleSheetPage : IDispatch
5407 {
5408     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5409     HRESULT selector([retval, out] BSTR *p);
5410
5411     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5412     HRESULT pseudoClass([retval, out] BSTR *p);
5413 }
5414
5415 [
5416     odl,
5417     oleautomation,
5418     dual,
5419     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
5420 ]
5421 interface IHTMLStyleSheetPagesCollection : IDispatch
5422 {
5423     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5424     HRESULT length([retval, out] LONG *p);
5425
5426     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5427     HRESULT item(
5428         [in] LONG index,
5429         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
5430 }
5431
5432 /*****************************************************************************
5433  *    IHTMLStyleSheet interface
5434  */
5435 [
5436     odl,
5437     oleautomation,
5438     dual,
5439     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
5440 ]
5441 interface IHTMLStyleSheet : IDispatch
5442 {
5443     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5444     HRESULT title([in] BSTR v);
5445
5446     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5447     HRESULT title([retval, out] BSTR *p);
5448
5449     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5450     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
5451
5452     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5453     HRESULT owningElement([retval, out] IHTMLElement **p);
5454
5455     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5456     HRESULT disabled([in] VARIANT_BOOL v);
5457
5458     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5459     HRESULT disabled([retval, out] VARIANT_BOOL *p);
5460
5461     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5462     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5463
5464     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5465     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
5466
5467     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5468     HRESULT href([in] BSTR v);
5469
5470     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5471     HRESULT href([retval, out] BSTR *p);
5472
5473     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5474     HRESULT type([retval, out] BSTR *p);
5475
5476     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5477     HRESULT id([retval, out] BSTR *p);
5478
5479     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5480     HRESULT addImport(
5481         [in] BSTR bstrURL,
5482         [defaultvalue(-1), in] LONG lIndex,
5483         [retval, out] LONG *plIndex);
5484
5485     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5486     HRESULT addRule(
5487         [in] BSTR bstrSelector,
5488         [in] BSTR bstrStyle,
5489         [defaultvalue(-1), in] LONG lIndex,
5490         [retval, out] LONG *plNewIndex);
5491
5492     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5493     HRESULT removeImport([in] LONG lIndex);
5494
5495     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5496     HRESULT removeRule([in] LONG lIndex);
5497
5498     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5499     HRESULT media([in] BSTR v);
5500
5501     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5502     HRESULT media([retval, out] BSTR *p);
5503
5504     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5505     HRESULT cssText([in] BSTR v);
5506
5507     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5508     HRESULT cssText([retval, out] BSTR *p);
5509
5510     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5511     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
5512 }
5513
5514 /*****************************************************************************
5515  *    IHTMLStyleSheet2 interface
5516  */
5517 [
5518     odl,
5519     oleautomation,
5520     dual,
5521     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
5522 ]
5523 interface IHTMLStyleSheet2 : IDispatch
5524 {
5525     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
5526     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
5527
5528     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
5529     HRESULT addPageRule(
5530         [in] BSTR bstrSelector,
5531         [in] BSTR bstrStyle,
5532         [defaultvalue(-1), in] LONG lIndex,
5533         [retval, out] LONG *plNewIndex);
5534 }
5535
5536 [
5537     hidden,
5538     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
5539 ]
5540 dispinterface DispHTMLStyleSheet
5541 {
5542 properties:
5543 methods:
5544     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5545     void title(BSTR v);
5546
5547     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5548     BSTR title();
5549
5550     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5551     IHTMLStyleSheet* parentStyleSheet();
5552
5553     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5554     IHTMLElement* owningElement();
5555
5556     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5557     void disabled(VARIANT_BOOL v);
5558
5559     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5560     VARIANT_BOOL disabled();
5561
5562     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5563     VARIANT_BOOL readOnly();
5564
5565     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5566     IHTMLStyleSheetsCollection* imports();
5567
5568     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5569     void href(BSTR v);
5570
5571     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5572     BSTR href();
5573
5574     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5575     BSTR type();
5576
5577     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5578     BSTR id();
5579
5580     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5581     LONG addImport(
5582         [in] BSTR bstrURL,
5583         [defaultvalue(-1), in] LONG lIndex);
5584
5585     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5586     LONG addRule(
5587         [in] BSTR bstrSelector,
5588         [in] BSTR bstrStyle,
5589         [defaultvalue(-1), in] LONG lIndex);
5590
5591     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5592     void removeImport([in] LONG lIndex);
5593
5594     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5595     void removeRule([in] LONG lIndex);
5596
5597     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5598     void media(BSTR v);
5599
5600     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5601     BSTR media();
5602
5603     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5604     void cssText(BSTR v);
5605
5606     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5607     BSTR cssText();
5608
5609     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5610     IHTMLStyleSheetRulesCollection* rules();
5611
5612     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
5613     IHTMLStyleSheetPagesCollection* pages();
5614
5615     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
5616     LONG addPageRule(
5617         [in] BSTR bstrSelector,
5618         [in] BSTR bstrStyle,
5619         [defaultvalue(-1), in] LONG lIndex);
5620 }
5621
5622 [
5623     noncreatable,
5624     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
5625 ]
5626 coclass HTMLStyleSheet
5627 {
5628     [default]           dispinterface DispHTMLStyleSheet;
5629                         interface IHTMLStyleSheet;
5630                         interface IHTMLStyleSheet2;
5631 }
5632
5633 /*****************************************************************************
5634  *    IHTMLStyleSheetsCollection interface
5635  */
5636 [
5637     odl,
5638     oleautomation,
5639     dual,
5640     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
5641 ]
5642 interface IHTMLStyleSheetsCollection : IDispatch
5643 {
5644     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
5645     HRESULT length([retval, out] LONG *p);
5646
5647     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
5648     HRESULT _newEnum([retval, out] IUnknown **p);
5649
5650     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
5651     HRESULT item(
5652         [in] VARIANT *pvarIndex,
5653         [retval, out] VARIANT *pvarResult);
5654 }
5655
5656 /*****************************************************************************
5657  *    IHTMLTxtRange interface
5658  */
5659 [
5660     odl,
5661     oleautomation,
5662     dual,
5663     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
5664 ]
5665 interface IHTMLTxtRange : IDispatch
5666 {
5667     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
5668     HRESULT htmlText([retval, out] BSTR *p);
5669
5670     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
5671     HRESULT text([in] BSTR v);
5672
5673     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
5674     HRESULT text([retval, out] BSTR *p);
5675
5676     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
5677     HRESULT parentElement([retval, out] IHTMLElement **parent);
5678
5679     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
5680     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
5681
5682     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
5683     HRESULT inRange(
5684         [in] IHTMLTxtRange *Range,
5685         [retval, out] VARIANT_BOOL *InRange);
5686
5687     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
5688     HRESULT isEqual(
5689         [in] IHTMLTxtRange *Range,
5690         [retval, out] VARIANT_BOOL *IsEqual);
5691
5692     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
5693     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
5694
5695     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
5696     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
5697
5698     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
5699     HRESULT expand(
5700         [in] BSTR Unit,
5701         [retval, out] VARIANT_BOOL *Success);
5702
5703     [id(DISPID_IHTMLTXTRANGE_MOVE)]
5704     HRESULT move(
5705         [in] BSTR Unit,
5706         [defaultvalue(1), in] LONG Count,
5707         [retval, out] LONG *ActualCount);
5708
5709     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
5710     HRESULT moveStart(
5711         [in] BSTR Unit,
5712         [defaultvalue(1), in] LONG Count,
5713         [retval, out] LONG *ActualCount);
5714
5715     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
5716     HRESULT moveEnd(
5717         [in] BSTR Unit,
5718         [defaultvalue(1), in] LONG Count,
5719         [retval, out] LONG *ActualCount);
5720
5721     [id(DISPID_IHTMLTXTRANGE_SELECT)]
5722     HRESULT select();
5723
5724     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
5725     HRESULT pasteHTML([in] BSTR html);
5726
5727     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
5728     HRESULT moveToElementText([in] IHTMLElement *element);
5729
5730     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
5731     HRESULT setEndPoint(
5732         [in] BSTR how,
5733         [in] IHTMLTxtRange *SourceRange);
5734
5735     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
5736     HRESULT compareEndPoints(
5737         [in] BSTR how,
5738         [in] IHTMLTxtRange *SourceRange,
5739         [retval, out] LONG *ret);
5740
5741     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
5742     HRESULT findText(
5743         [in] BSTR String,
5744         [defaultvalue(1073741823), in] LONG count,
5745         [defaultvalue(0), in] LONG Flags,
5746         [retval, out] VARIANT_BOOL *Success);
5747
5748     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
5749     HRESULT moveToPoint(
5750         [in] LONG x,
5751         [in] LONG y);
5752
5753     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
5754     HRESULT getBookmark([retval, out] BSTR *Boolmark);
5755
5756     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
5757     HRESULT moveToBookmark(
5758         [in] BSTR Bookmark,
5759         [retval, out] VARIANT_BOOL *Success);
5760
5761     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
5762     HRESULT queryCommandSupported(
5763         [in] BSTR cmdID,
5764         [retval, out] VARIANT_BOOL *pfRet);
5765
5766     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
5767     HRESULT queryCommandEnabled(
5768         [in] BSTR cmdID,
5769         [retval, out] VARIANT_BOOL *pfRet);
5770
5771     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
5772     HRESULT queryCommandState(
5773         [in] BSTR cmdID,
5774         [retval, out] VARIANT_BOOL *pfRet);
5775
5776     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
5777     HRESULT queryCommandIndeterm(
5778         [in] BSTR cmdID,
5779         [retval, out] VARIANT_BOOL *pfRet);
5780
5781     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
5782     HRESULT queryCommandText(
5783         [in] BSTR cmdID,
5784         [retval, out] BSTR *pcmdText);
5785
5786     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
5787     HRESULT queryCommandValue(
5788         [in] BSTR cmdID,
5789         [retval, out] VARIANT *pcmdValue);
5790
5791     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
5792     HRESULT execCommand(
5793         [in] BSTR cmdID,
5794         [defaultvalue(0), in] VARIANT_BOOL showUI,
5795         [optional, in] VARIANT value,
5796         [retval, out] VARIANT_BOOL *pfRet);
5797
5798     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
5799     HRESULT execCommandShowHelp(
5800         [in] BSTR cmdID,
5801         [retval, out] VARIANT_BOOL *pfRet);
5802 }
5803
5804 [
5805     noncreatable,
5806     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
5807 ]
5808 coclass HTMLStyleSheetsCollection
5809 {
5810     [default]           interface IHTMLStyleSheetsCollection;
5811 }
5812
5813 /*****************************************************************************
5814  *    IHTMLFormElement interface
5815  */
5816 [
5817     odl,
5818     oleautomation,
5819     dual,
5820     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
5821 ]
5822 interface IHTMLFormElement : IDispatch
5823 {
5824     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5825     HRESULT action([in] BSTR v);
5826
5827     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5828     HRESULT action([retval, out] BSTR *p);
5829
5830     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
5831     HRESULT dir([in] BSTR v);
5832
5833     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
5834     HRESULT dir([retval, out] BSTR *p);
5835
5836     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5837     HRESULT encoding([in] BSTR v);
5838
5839     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5840     HRESULT encoding([retval, out] BSTR *p);
5841
5842     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5843     HRESULT method([in] BSTR v);
5844
5845     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5846     HRESULT method([retval, out] BSTR *p);
5847
5848     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
5849     HRESULT elements([retval, out] IDispatch **p);
5850
5851     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5852     HRESULT target([in] BSTR v);
5853
5854     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5855     HRESULT target([retval, out] BSTR *p);
5856
5857     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
5858     HRESULT name([in] BSTR v);
5859
5860     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
5861     HRESULT name([retval, out] BSTR *p);
5862
5863     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
5864     HRESULT onsubmit([in] VARIANT v);
5865
5866     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
5867     HRESULT onsubmit([retval, out] VARIANT *p);
5868
5869     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
5870     HRESULT onreset([in] VARIANT v);
5871
5872     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
5873     HRESULT onreset([retval, out] VARIANT *p);
5874
5875     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
5876     HRESULT submit();
5877
5878     [id(DISPID_IHTMLFORMELEMENT_RESET)]
5879     HRESULT reset();
5880
5881     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
5882     HRESULT length([in] LONG v);
5883
5884     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
5885     HRESULT length([retval, out] LONG *p);
5886
5887     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
5888     HRESULT _newEnum([retval, out] IUnknown **p);
5889
5890     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
5891     HRESULT item(
5892         [optional, in] VARIANT name,
5893         [optional, in] VARIANT index,
5894         [retval, out] IDispatch **pdisp);
5895
5896     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
5897     HRESULT tags(
5898         [in] VARIANT tagName,
5899         [retval, out] IDispatch **pdisp);
5900 }
5901
5902 /*****************************************************************************
5903  *    IHTMLTextContainer interface
5904  */
5905 [
5906     odl,
5907     oleautomation,
5908     dual,
5909     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
5910 ]
5911 interface IHTMLTextContainer : IDispatch
5912 {
5913     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
5914     HRESULT createControlRange([retval, out] IDispatch **range);
5915
5916     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
5917     HRESULT scrollHeight([retval, out] LONG *p);
5918
5919     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
5920     HRESULT scrollWidth([retval, out] LONG *p);
5921
5922     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5923     HRESULT scrollTop([in] LONG v);
5924
5925     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5926     HRESULT scrollTop([retval, out] LONG *p);
5927
5928     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5929     HRESULT scrollLeft([in] LONG v);
5930
5931     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5932     HRESULT scrollLeft([retval, out] LONG *p);
5933
5934     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5935     HRESULT onscroll([in] VARIANT v);
5936
5937     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5938     HRESULT onscroll([retval, out] VARIANT *p);
5939 }
5940
5941 /*****************************************************************************
5942  *    IHTMLImgElement interface
5943  */
5944 [
5945     odl,
5946     oleautomation,
5947     dual,
5948     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
5949 ]
5950 interface IHTMLImgElement : IDispatch
5951 {
5952     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5953     HRESULT isMap([in] VARIANT_BOOL v);
5954
5955     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5956     HRESULT isMap([retval, out] VARIANT_BOOL *p);
5957
5958     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5959     HRESULT useMap([in] BSTR v);
5960
5961     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5962     HRESULT useMap([retval, out] BSTR *p);
5963
5964     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
5965     HRESULT mimeType([retval, out] BSTR *p);
5966
5967     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
5968     HRESULT fileSize([retval, out] BSTR *p);
5969
5970     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
5971     HRESULT fileCreatedDate([retval, out] BSTR *p);
5972
5973     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
5974     HRESULT fileModifiedDate([retval, out] BSTR *p);
5975
5976     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
5977     HRESULT fileUpdatedDate([retval, out] BSTR *p);
5978
5979     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
5980     HRESULT protocol([retval, out] BSTR *p);
5981
5982     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
5983     HRESULT href([retval, out] BSTR *p);
5984
5985     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
5986     HRESULT nameProp([retval, out] BSTR *p);
5987
5988     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5989     HRESULT border([in] VARIANT v);
5990
5991     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5992     HRESULT border([retval, out] VARIANT *p);
5993
5994     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5995     HRESULT vspace([in] LONG v);
5996
5997     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5998     HRESULT vspace([retval, out] LONG *p);
5999
6000     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
6001     HRESULT hspace([in] LONG v);
6002
6003     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
6004     HRESULT hspace([retval, out] LONG *p);
6005
6006     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
6007     HRESULT alt([in] BSTR v);
6008
6009     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
6010     HRESULT alt([retval, out] BSTR *p);
6011
6012     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
6013     HRESULT src([in] BSTR v);
6014
6015     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
6016     HRESULT src([retval, out] BSTR *p);
6017
6018     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
6019     HRESULT lowsrc([in] BSTR v);
6020
6021     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
6022     HRESULT lowsrc([retval, out] BSTR *p);
6023
6024     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
6025     HRESULT vrml([in] BSTR v);
6026
6027     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
6028     HRESULT vrml([retval, out] BSTR *p);
6029
6030     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
6031     HRESULT dynsrc([in] BSTR v);
6032
6033     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
6034     HRESULT dynsrc([retval, out] BSTR *p);
6035
6036     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
6037     HRESULT readyState([retval, out] BSTR *p);
6038
6039     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6040     HRESULT complete([retval, out] VARIANT_BOOL *p);
6041
6042     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
6043     HRESULT loop([in] VARIANT v);
6044
6045     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
6046     HRESULT loop([retval, out] VARIANT *p);
6047
6048     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
6049     HRESULT align([in] BSTR v);
6050
6051     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
6052     HRESULT align([retval, out] BSTR *p);
6053
6054     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
6055     HRESULT onload([in] VARIANT v);
6056
6057     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
6058     HRESULT onload([retval, out] VARIANT *p);
6059
6060     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
6061     HRESULT onerror([in] VARIANT v);
6062
6063     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
6064     HRESULT onerror([retval, out] VARIANT *p);
6065
6066     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
6067     HRESULT onabort([in] VARIANT v);
6068
6069     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
6070     HRESULT onabort([retval, out] VARIANT *p);
6071
6072     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
6073     HRESULT name([in] BSTR v);
6074
6075     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
6076     HRESULT name([retval, out] BSTR *p);
6077
6078     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6079     HRESULT width([in] LONG v);
6080
6081     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6082     HRESULT width([retval, out] LONG *p);
6083
6084     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6085     HRESULT height([in] LONG v);
6086
6087     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6088     HRESULT height([retval, out] LONG *p);
6089
6090     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
6091     HRESULT start([in] BSTR v);
6092
6093     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
6094     HRESULT start([retval, out] BSTR *p);
6095 }
6096
6097 /*****************************************************************************
6098  *    IHTMLImageElementFactory interface
6099  */
6100 [
6101     odl,
6102     oleautomation,
6103     dual,
6104     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
6105 ]
6106 interface IHTMLImageElementFactory : IDispatch
6107 {
6108     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
6109     HRESULT create(
6110         [optional, in] VARIANT width,
6111         [optional, in] VARIANT height,
6112         [retval, out]  IHTMLImgElement **elem);
6113 }
6114
6115 /*****************************************************************************
6116  *    DispHTMLImg interface
6117  */
6118 [
6119     hidden,
6120     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
6121 ]
6122 dispinterface DispHTMLImg
6123 {
6124 properties:
6125 methods:
6126     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
6127     void setAttribute(
6128             [in] BSTR strAttributeName,
6129             [in] VARIANT AttributeValue,
6130             [in, defaultvalue(1)] LONG lFlags);
6131
6132     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
6133     VARIANT getAttribute(
6134              [in] BSTR strAttributeName,
6135              [in, defaultvalue(0)] LONG lFlags);
6136
6137     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
6138     VARIANT_BOOL removeAttribute(
6139             [in] BSTR strAttributeName,
6140             [in, defaultvalue(1)] LONG lFlags);
6141
6142     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6143     void className(BSTR v);
6144
6145     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6146     BSTR className();
6147
6148     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
6149     void id(BSTR v);
6150
6151     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
6152     BSTR id();
6153
6154     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
6155     BSTR tagName();
6156
6157     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
6158     IHTMLElement *parentElement();
6159
6160     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
6161     IHTMLStyle *style();
6162
6163     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6164     void onhelp(VARIANT v);
6165
6166     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6167     VARIANT onhelp();
6168
6169     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6170     void onclick(VARIANT v);
6171
6172     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6173     VARIANT onclick();
6174
6175     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6176     void ondblclick(VARIANT v);
6177
6178     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6179     VARIANT ondblclick();
6180
6181     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6182     void onkeydown(VARIANT v);
6183
6184     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6185     VARIANT onkeydown();
6186
6187     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6188     void onkeyup(VARIANT v);
6189
6190     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6191     VARIANT onkeyup();
6192
6193     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6194     void onkeypress(VARIANT v);
6195
6196     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6197     VARIANT onkeypress();
6198
6199     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6200     void onmouseout(VARIANT v);
6201
6202     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6203     VARIANT onmouseout();
6204
6205     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6206     void onmouseover(VARIANT v);
6207
6208     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6209     VARIANT onmouseover();
6210
6211     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6212     void onmousemove(VARIANT v);
6213
6214     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6215     VARIANT onmousemove();
6216
6217     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6218     void onmousedown(VARIANT v);
6219
6220     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6221     VARIANT onmousedown();
6222
6223     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6224     void onmouseup(VARIANT v);
6225
6226     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6227     VARIANT onmouseup();
6228
6229     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
6230     IDispatch *document();
6231
6232     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6233     void title(BSTR v);
6234
6235     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6236     BSTR title();
6237
6238     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6239     void language(BSTR v);
6240
6241     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6242     BSTR language();
6243
6244     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6245     void onselectstart(VARIANT v);
6246
6247     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6248     VARIANT onselectstart();
6249
6250     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
6251     void scrollIntoView([in, optional] VARIANT varargStart);
6252
6253     [id(DISPID_IHTMLELEMENT_CONTAINS)]
6254     VARIANT_BOOL contains([in] IHTMLElement *pChild);
6255
6256     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
6257     LONG sourceIndex();
6258
6259     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
6260     VARIANT recordNumber();
6261
6262     [propput, id(DISPID_IHTMLELEMENT_LANG)]
6263     void lang(BSTR v);
6264
6265     [propget, id(DISPID_IHTMLELEMENT_LANG)]
6266     BSTR lang();
6267
6268     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
6269     LONG offsetLeft();
6270
6271     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
6272     LONG offsetTop();
6273
6274     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
6275     LONG offsetWidth();
6276
6277     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
6278     LONG offsetHeight();
6279
6280     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
6281     IHTMLElement *offsetParent();
6282
6283     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
6284     void innerHTML(BSTR v);
6285
6286     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
6287     BSTR innerHTML();
6288
6289     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6290     void innerText(BSTR v);
6291
6292     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6293     BSTR innerText();
6294
6295     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6296     void outerHTML(BSTR v);
6297
6298     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6299     BSTR outerHTML();
6300
6301     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6302     void outerText(BSTR v);
6303
6304     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6305     BSTR outerText();
6306
6307     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
6308     void insertAdjacentHTML(
6309             [in] BSTR where,
6310             [in] BSTR html);
6311
6312     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
6313     void insertAdjacentText(
6314             [in] BSTR where,
6315             [in] BSTR text);
6316
6317     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
6318     IHTMLElement *parentTextEdit();
6319
6320     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
6321     VARIANT_BOOL isTextEdit();
6322
6323     [id(DISPID_IHTMLELEMENT_CLICK)]
6324     void click();
6325
6326     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
6327     IHTMLFiltersCollection *filters();
6328
6329     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6330     void ondragstart(VARIANT v);
6331
6332     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6333     VARIANT ondragstart();
6334
6335     [id(DISPID_IHTMLELEMENT_TOSTRING)]
6336     BSTR toString();
6337
6338     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6339     void onbeforeupdate(VARIANT v);
6340
6341     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6342     VARIANT onbeforeupdate();
6343
6344     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6345     void onafterupdate(VARIANT v);
6346
6347     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6348     VARIANT onafterupdate();
6349
6350     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6351     void onerrorupdate(VARIANT v);
6352
6353     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6354     VARIANT onerrorupdate();
6355
6356     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6357     void onrowexit(VARIANT v);
6358
6359     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6360     VARIANT onrowexit();
6361
6362     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6363     void onrowenter(VARIANT v);
6364
6365     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6366     VARIANT onrowenter();
6367
6368     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6369     void ondatasetchanged(VARIANT v);
6370
6371     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6372     VARIANT ondatasetchanged();
6373
6374     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6375     void ondataavailable(VARIANT v);
6376
6377     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6378     VARIANT ondataavailable();
6379
6380     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6381     void ondatasetcomplete(VARIANT v);
6382
6383     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6384     VARIANT ondatasetcomplete();
6385
6386     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6387     void onfilterchange(VARIANT v);
6388
6389     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6390     VARIANT onfilterchange();
6391
6392     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
6393     IDispatch *children();
6394
6395     [propget, id(DISPID_IHTMLELEMENT_ALL)]
6396     IDispatch *all();
6397
6398     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
6399     BSTR scopeName();
6400
6401     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
6402     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
6403
6404     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
6405     void releaseCapture();
6406
6407     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6408     void onlosecapture(VARIANT v);
6409
6410     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6411     VARIANT onlosecapture();
6412
6413     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
6414     BSTR componentFromPoint(
6415             [in] LONG x,
6416             [in] LONG y);
6417
6418     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
6419     void doScroll([in, optional] VARIANT component);
6420
6421     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6422     void onscroll(VARIANT v);
6423
6424     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6425     VARIANT onscroll();
6426
6427     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6428     void ondrag(VARIANT v);
6429
6430     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6431     VARIANT ondrag();
6432
6433     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6434     void ondragend(VARIANT v);
6435
6436     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6437     VARIANT ondragend();
6438
6439     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6440     void ondragenter(VARIANT v);
6441
6442     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6443     VARIANT ondragenter();
6444
6445     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6446     void ondragover(VARIANT v);
6447
6448     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6449     VARIANT ondragover();
6450
6451     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6452     void ondragleave(VARIANT v);
6453
6454     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6455     VARIANT ondragleave();
6456
6457     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6458     void ondrop(VARIANT v);
6459
6460     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6461     VARIANT ondrop();
6462
6463     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6464     void onbeforecut(VARIANT v);
6465
6466     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6467     VARIANT onbeforecut();
6468
6469     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6470     void oncut(VARIANT v);
6471
6472     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6473     VARIANT oncut();
6474
6475     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6476     void onbeforecopy(VARIANT v);
6477
6478     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6479     VARIANT onbeforecopy();
6480
6481     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6482     void oncopy(VARIANT v);
6483
6484     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6485     VARIANT oncopy();
6486
6487     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6488     void onbeforepaste(VARIANT v);
6489
6490     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6491     VARIANT onbeforepaste();
6492
6493     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6494     void onpaste(VARIANT v);
6495
6496     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6497     VARIANT onpaste();
6498
6499     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
6500     IHTMLCurrentStyle *currentStyle();
6501
6502     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6503     void onpropertychange(VARIANT v);
6504
6505     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6506     VARIANT onpropertychange();
6507
6508     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
6509     IHTMLRectCollection *getClientRects();
6510
6511     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
6512     IHTMLRect *getBoundingClientRect();
6513
6514     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
6515     void setExpression(
6516             [in] BSTR propname,
6517             [in] BSTR expression,
6518             [in, defaultvalue("")] BSTR language);
6519
6520     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
6521     VARIANT getExpression([in] BSTR propname);
6522
6523     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
6524     VARIANT_BOOL removeExpression([in] BSTR propname);
6525
6526     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6527     void tabIndex(short v);
6528
6529     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6530     short tabIndex();
6531
6532     [id(DISPID_IHTMLELEMENT2_FOCUS)]
6533     void focus();
6534
6535     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6536     void accessKey(BSTR v);
6537
6538     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6539     BSTR accessKey();
6540
6541     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6542     void onblur(VARIANT v);
6543
6544     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6545     VARIANT onblur();
6546
6547     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6548     void onfocus(VARIANT v);
6549
6550     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6551     VARIANT onfocus();
6552
6553     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6554     void onresize(VARIANT v);
6555
6556     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6557     VARIANT onresize();
6558
6559     [id(DISPID_IHTMLELEMENT2_BLUR)]
6560     void blur();
6561
6562     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
6563     void addFilter([in] IUnknown *pUnk);
6564
6565     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
6566     void removeFilter([in] IUnknown *pUnk);
6567
6568     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
6569     LONG clientHeight();
6570
6571     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
6572     LONG clientWidth();
6573
6574     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
6575     LONG clientTop();
6576
6577     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
6578     LONG clientLeft();
6579
6580     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
6581     VARIANT_BOOL attachEvent(
6582             [in] BSTR event,
6583             [in] IDispatch *pDisp);
6584
6585     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
6586     void detachEvent(
6587             [in] BSTR event,
6588             [in] IDispatch *pDisp);
6589
6590     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
6591     VARIANT readyState();
6592
6593     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6594     void onreadystatechange(VARIANT v);
6595
6596     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6597     VARIANT onreadystatechange();
6598
6599     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6600     void onrowsdelete(VARIANT v);
6601
6602     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6603     VARIANT onrowsdelete();
6604
6605     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6606     void onrowsinserted(VARIANT v);
6607
6608     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6609      VARIANT onrowsinserted();
6610
6611     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6612      void oncellchange(VARIANT v);
6613
6614     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6615     VARIANT oncellchange();
6616
6617     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6618     void dir(BSTR v);
6619
6620     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6621     BSTR dir();
6622
6623     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
6624     IDispatch *createControlRange();
6625
6626     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
6627     LONG scrollHeight();
6628
6629     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
6630     LONG scrollWidth();
6631
6632     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6633     void scrollTop(LONG v);
6634
6635     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6636     LONG scrollTop();
6637
6638     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6639     void scrollLeft(LONG v);
6640
6641     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6642     LONG scrollLeft();
6643
6644     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
6645     void clearAttributes();
6646
6647     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6648     void oncontextmenu(VARIANT v);
6649
6650     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6651     VARIANT oncontextmenu();
6652
6653     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
6654     IHTMLElement *insertAdjacentElement(
6655             [in] BSTR where,
6656             [in] IHTMLElement *insertedElement);
6657
6658     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
6659     IHTMLElement *applyElement(
6660             [in] IHTMLElement *apply,
6661             [in] BSTR where);
6662
6663     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
6664     BSTR getAdjacentText([in] BSTR where);
6665
6666     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
6667     BSTR replaceAdjacentText(
6668             [in] BSTR where,
6669             [in] BSTR newText);
6670
6671     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
6672     VARIANT_BOOL canHaveChildren();
6673
6674     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
6675     LONG addBehavior(
6676             [in] BSTR bstrUrl,
6677             [in, optional] VARIANT *pvarFactory);
6678
6679     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
6680     VARIANT_BOOL removeBehavior([in] LONG cookie);
6681
6682     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
6683     IHTMLStyle *runtimeStyle();
6684
6685     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
6686     IDispatch *behaviorUrns();
6687
6688     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
6689     void tagUrn(BSTR v);
6690
6691     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
6692     BSTR tagUrn();
6693
6694     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6695     void onbeforeeditfocus(VARIANT v);
6696
6697     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6698     VARIANT onbeforeeditfocus();
6699
6700     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
6701     LONG readyStateValue();
6702
6703     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
6704     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
6705
6706     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
6707     void mergeAttributes(
6708             [in] IHTMLElement *mergeThis,
6709             [in, optional] VARIANT *pvarFlags);
6710
6711     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
6712     VARIANT_BOOL isMultiLine();
6713
6714     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
6715     VARIANT_BOOL canHaveHTML();
6716
6717     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6718     void onlayoutcomplete(VARIANT v);
6719
6720     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6721     VARIANT onlayoutcomplete();
6722
6723     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6724     void onpage(VARIANT v);
6725
6726     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6727     VARIANT onpage();
6728
6729     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6730     void inflateBlock(VARIANT_BOOL v);
6731
6732     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6733     VARIANT_BOOL inflateBlock();
6734
6735     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6736     void onbeforedeactivate(VARIANT v);
6737
6738     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6739     VARIANT onbeforedeactivate();
6740
6741     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
6742     void setActive();
6743
6744     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6745     void contentEditable(BSTR v);
6746
6747     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6748     BSTR contentEditable();
6749
6750     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
6751     VARIANT_BOOL isContentEditable();
6752
6753     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6754     void hideFocus(VARIANT_BOOL v);
6755
6756     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6757     VARIANT_BOOL hideFocus();
6758
6759     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6760     void disabled(VARIANT_BOOL v);
6761
6762     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6763     VARIANT_BOOL disabled();
6764
6765     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
6766     VARIANT_BOOL isDisabled();
6767
6768     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6769     void onmove(VARIANT v);
6770
6771     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6772     VARIANT onmove();
6773
6774     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6775     void oncontrolselect(VARIANT v);
6776
6777     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6778     VARIANT oncontrolselect();
6779
6780     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
6781     VARIANT_BOOL fireEvent(
6782             [in] BSTR bstrEventName,
6783             [in, optional] VARIANT *pvarEventObject);
6784
6785     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6786     void onresizestart(VARIANT v);
6787
6788     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6789     VARIANT onresizestart();
6790
6791     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6792     void onresizeend(VARIANT v);
6793
6794     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6795     VARIANT onresizeend();
6796
6797     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6798     void onmovestart(VARIANT v);
6799
6800     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6801     VARIANT onmovestart();
6802
6803     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6804     void onmoveend(VARIANT v);
6805
6806     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6807     VARIANT onmoveend();
6808
6809     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6810     void onmouseenter(VARIANT v);
6811
6812     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6813     VARIANT onmouseenter();
6814
6815     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6816     void onmouseleave(VARIANT v);
6817
6818     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6819     VARIANT onmouseleave();
6820
6821     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6822     void onactivate(VARIANT v);
6823
6824     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6825     VARIANT onactivate();
6826
6827     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6828     void ondeactivate(VARIANT v);
6829
6830     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6831     VARIANT ondeactivate();
6832
6833     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
6834     VARIANT_BOOL dragDrop();
6835
6836     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
6837     LONG glyphMode();
6838
6839     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6840     void onmousewheel(VARIANT v);
6841
6842     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6843     VARIANT onmousewheel();
6844
6845     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
6846     void normalize();
6847
6848     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
6849     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
6850
6851     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
6852     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
6853
6854     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
6855     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
6856
6857     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6858     void onbeforeactivate(VARIANT v);
6859
6860     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6861     VARIANT onbeforeactivate();
6862
6863     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6864     void onfocusin(VARIANT v);
6865
6866     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6867     VARIANT onfocusin();
6868
6869     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6870     void onfocusout(VARIANT v);
6871
6872     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6873     VARIANT onfocusout();
6874
6875     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6876     LONG uniqueNumber();
6877
6878     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6879     BSTR uniqueID();
6880
6881     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
6882     LONG nodeType();
6883
6884     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
6885     IHTMLDOMNode *parentNode();
6886
6887     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
6888     VARIANT_BOOL hasChildNodes();
6889
6890     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
6891     IDispatch *childNodes();
6892
6893     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
6894     IDispatch *attributes();
6895
6896     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
6897     IHTMLDOMNode *insertBefore(
6898             [in] IHTMLDOMNode *newChild,
6899             [in, optional] VARIANT refChild);
6900
6901     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
6902     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
6903
6904     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
6905     IHTMLDOMNode *replaceChild(
6906             [in] IHTMLDOMNode *newChild,
6907             [in] IHTMLDOMNode *oldChild);
6908
6909     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
6910     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
6911
6912     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
6913     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
6914
6915     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
6916     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
6917
6918     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
6919     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
6920
6921     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
6922     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
6923
6924     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
6925     BSTR nodeName();
6926
6927     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6928     void nodeValue(VARIANT v);
6929
6930     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6931     VARIANT nodeValue();
6932
6933     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
6934     IHTMLDOMNode *firstChild();
6935
6936     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
6937     IHTMLDOMNode *lastChild();
6938
6939     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
6940     IHTMLDOMNode *previousSibling();
6941
6942     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
6943     IHTMLDOMNode *nextSibling();
6944
6945     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
6946     IDispatch *ownerDocument();
6947
6948     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6949     void dataFld(BSTR v);
6950
6951     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6952     BSTR dataFld();
6953
6954     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6955     void dataSrc(BSTR v);
6956
6957     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6958     BSTR dataSrc();
6959
6960     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6961     void dataFormatAs(BSTR v);
6962
6963     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6964     BSTR dataFormatAs();
6965
6966     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6967     void isMap(VARIANT_BOOL v);
6968
6969     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6970     VARIANT_BOOL isMap();
6971
6972     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6973     void useMap(BSTR v);
6974
6975     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6976     BSTR useMap();
6977
6978     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6979     BSTR mimeType();
6980
6981     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6982     BSTR fileSize();
6983
6984     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6985     BSTR fileCreatedDate();
6986
6987     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6988     BSTR fileModifiedDate();
6989
6990     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6991     BSTR fileUpdatedDate();
6992
6993     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6994     BSTR protocol();
6995
6996     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6997     BSTR href();
6998
6999     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7000     BSTR nameProp();
7001
7002     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7003     void border(VARIANT v);
7004
7005     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7006     VARIANT border();
7007
7008     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7009     void vspace(LONG v);
7010
7011     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7012     LONG vspace();
7013
7014     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7015     void hspace(LONG v);
7016
7017     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7018     LONG hspace();
7019
7020     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7021     void alt(BSTR v);
7022
7023     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7024     BSTR alt();
7025
7026     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7027     void src(BSTR v);
7028
7029     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7030     BSTR src();
7031
7032     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7033     void lowsrc(BSTR v);
7034
7035     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7036     BSTR lowsrc();
7037
7038     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7039     void vrml(BSTR v);
7040
7041     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7042     BSTR vrml();
7043
7044     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7045     void dynsrc(BSTR v);
7046
7047     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7048     BSTR dynsrc();
7049
7050     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7051     VARIANT_BOOL complete();
7052
7053     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7054     void loop(VARIANT v);
7055
7056     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7057     VARIANT loop();
7058
7059     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7060     void align(BSTR v);
7061
7062     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7063     BSTR align();
7064
7065     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7066     void onload(VARIANT v);
7067
7068     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7069     VARIANT onload();
7070
7071     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7072     void onerror(VARIANT v);
7073
7074     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7075     VARIANT onerror();
7076
7077     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7078     void onabort(VARIANT v);
7079
7080     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7081     VARIANT onabort();
7082
7083     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7084     void name(BSTR v);
7085
7086     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7087     BSTR name();
7088
7089     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7090     void width(LONG v);
7091
7092     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7093     LONG width();
7094
7095     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7096     void height(LONG v);
7097
7098     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7099     LONG height();
7100
7101     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7102     void start(BSTR v);
7103
7104     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7105     BSTR start();
7106
7107     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7108     void longDesc(BSTR v);
7109
7110     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7111     BSTR longDesc();
7112 };
7113
7114 /*****************************************************************************
7115  *    IHTMLUniqueName interface
7116  */
7117 [
7118     odl,
7119     oleautomation,
7120     dual,
7121     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
7122 ]
7123 interface IHTMLUniqueName : IDispatch
7124 {
7125     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
7126     HRESULT uniqueNumber([retval, out] LONG * p);
7127
7128     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
7129     HRESULT uniqueID([retval, out] BSTR * p);
7130 };
7131
7132 [
7133     odl,
7134     oleautomation,
7135     dual,
7136     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
7137 ]
7138 interface IHTMLDatabinding : IDispatch
7139 {
7140     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7141     HRESULT dataFld([in] BSTR v);
7142
7143     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7144     HRESULT dataFld([retval, out] BSTR * p);
7145
7146     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
7147     HRESULT dataSrc([in] BSTR v);
7148
7149     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
7150     HRESULT dataSrc([retval, out] BSTR * p);
7151
7152     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7153     HRESULT dataFormatAs([in] BSTR v);
7154
7155     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7156     HRESULT dataFormatAs([retval, out] BSTR * p);
7157 };
7158
7159 /*****************************************************************************
7160  *    IHTMLControlElement interface
7161  */
7162 [
7163     odl,
7164     oleautomation,
7165     dual,
7166     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7167 ]
7168 interface IHTMLControlElement : IDispatch
7169 {
7170     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7171     HRESULT tabIndex([in] short v);
7172
7173     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7174     HRESULT tabIndex([retval, out] short * p);
7175
7176     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7177     HRESULT focus();
7178
7179     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7180     HRESULT accessKey([in] BSTR v);
7181
7182     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7183     HRESULT accessKey([retval, out] BSTR * p);
7184
7185     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7186     HRESULT onblur([in] VARIANT v);
7187
7188     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7189     HRESULT onblur([retval, out] VARIANT * p);
7190
7191     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7192     HRESULT onfocus([in] VARIANT v);
7193
7194     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7195     HRESULT onfocus([retval, out] VARIANT * p);
7196
7197     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7198     HRESULT onresize([in] VARIANT v);
7199
7200     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7201     HRESULT onresize([retval, out] VARIANT * p);
7202
7203     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7204     HRESULT blur();
7205
7206     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7207     HRESULT addFilter([in] IUnknown* pUnk);
7208
7209     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7210     HRESULT removeFilter([in] IUnknown* pUnk);
7211
7212     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7213     HRESULT clientHeight([retval, out] LONG * p);
7214
7215     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7216     HRESULT clientWidth([retval, out] LONG * p);
7217
7218     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7219     HRESULT clientTop([retval, out] LONG * p);
7220
7221     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7222     HRESULT clientLeft([retval, out] LONG * p);
7223 };
7224
7225 /*****************************************************************************
7226  *    IHTMLBodyElement interface
7227  */
7228 [
7229     odl,
7230     oleautomation,
7231     dual,
7232     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7233 ]
7234 interface IHTMLBodyElement : IDispatch
7235 {
7236     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7237     HRESULT background([in] BSTR v);
7238
7239     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7240     HRESULT background([retval, out] BSTR *p);
7241
7242     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7243     HRESULT bgProperties([in] BSTR v);
7244
7245     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7246     HRESULT bgProperties([retval, out] BSTR *p);
7247
7248     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7249     HRESULT leftMargin([in] VARIANT v);
7250
7251     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7252     HRESULT leftMargin([retval, out] VARIANT *p);
7253
7254     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7255     HRESULT topMargin([in] VARIANT v);
7256
7257     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7258     HRESULT topMargin([retval, out] VARIANT *p);
7259
7260     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7261     HRESULT rightMargin([in] VARIANT v);
7262
7263     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7264     HRESULT rightMargin([retval, out] VARIANT *p);
7265
7266     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7267     HRESULT bottomMargin([in] VARIANT v);
7268
7269     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7270     HRESULT bottomMargin([retval, out] VARIANT *p);
7271
7272     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7273     HRESULT noWrap([in] VARIANT_BOOL v);
7274
7275     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7276     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7277
7278     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7279     HRESULT bgColor([in] VARIANT v);
7280
7281     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7282     HRESULT bgColor([retval, out] VARIANT *p);
7283
7284     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7285     HRESULT text([in] VARIANT v);
7286
7287     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7288     HRESULT text([retval, out] VARIANT *p);
7289
7290     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7291     HRESULT link([in] VARIANT v);
7292
7293     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7294     HRESULT link([retval, out] VARIANT *p);
7295
7296     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7297     HRESULT vLink([in] VARIANT v);
7298
7299     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7300     HRESULT vLink([retval, out] VARIANT *p);
7301
7302     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7303     HRESULT aLink([in] VARIANT v);
7304
7305     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7306     HRESULT aLink([retval, out] VARIANT *p);
7307
7308     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7309     HRESULT onload([in] VARIANT v);
7310
7311     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7312     HRESULT onload([retval, out] VARIANT *p);
7313
7314     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7315     HRESULT onunload([in] VARIANT v);
7316
7317     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7318     HRESULT onunload([retval, out] VARIANT *p);
7319
7320     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7321     HRESULT scroll([in] BSTR v);
7322
7323     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7324     HRESULT scroll([retval, out] BSTR *p);
7325
7326     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7327     HRESULT onselect([in] VARIANT v);
7328
7329     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7330     HRESULT onselect([retval, out] VARIANT *p);
7331
7332     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7333     HRESULT onbeforeunload([in] VARIANT v);
7334
7335     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7336     HRESULT onbeforeunload([retval, out] VARIANT *p);
7337
7338     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7339     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7340 }
7341
7342 /*****************************************************************************
7343  *    IHTMLBodyElement2 interface
7344  */
7345 [
7346     odl,
7347     oleautomation,
7348     dual,
7349     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7350 ]
7351 interface IHTMLBodyElement2 : IDispatch
7352 {
7353     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7354     HRESULT onbeforeprint([in] VARIANT v);
7355
7356     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7357     HRESULT onbeforeprint([retval, out] VARIANT *p);
7358
7359     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7360     HRESULT onafterprint([in] VARIANT v);
7361
7362     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7363     HRESULT onafterprint([retval, out] VARIANT *p);
7364 }
7365
7366 [
7367     hidden,
7368     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
7369 ]
7370 dispinterface DispHTMLBody
7371 {
7372 properties:
7373 methods:
7374     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
7375     void setAttribute(
7376         [in] BSTR strAttributeName,
7377         [in] VARIANT AttValue,
7378         [defaultvalue(1), in] LONG lFlags);
7379
7380     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
7381     VARIANT getAttribute(
7382         [in] BSTR strAttributeName,
7383         [defaultvalue(0), in] LONG lFlags);
7384
7385     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
7386     VARIANT_BOOL removeAttribute(
7387         [in] BSTR strAttributeName,
7388         [defaultvalue(1), in] LONG lFlags);
7389
7390     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7391     void className(BSTR v);
7392
7393     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7394     BSTR className();
7395
7396     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
7397     void id(BSTR v);
7398
7399     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
7400     BSTR id();
7401
7402     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
7403     BSTR tagName();
7404
7405     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
7406     IHTMLElement* parentElement();
7407
7408     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
7409     IHTMLStyle* style();
7410
7411     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7412     void onhelp(VARIANT v);
7413
7414     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7415     VARIANT onhelp();
7416
7417     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7418     void onclick(VARIANT v);
7419
7420     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7421     VARIANT onclick();
7422
7423     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7424     void ondblclick(VARIANT v);
7425
7426     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7427     VARIANT ondblclick();
7428
7429     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7430     void onkeydown(VARIANT v);
7431
7432     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7433     VARIANT onkeydown();
7434
7435     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7436     void onkeyup(VARIANT v);
7437
7438     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7439     VARIANT onkeyup();
7440
7441     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7442     void onkeypress(VARIANT v);
7443
7444     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7445     VARIANT onkeypress();
7446
7447     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7448     void onmouseout(VARIANT v);
7449
7450     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7451     VARIANT onmouseout();
7452
7453     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7454     void onmouseover(VARIANT v);
7455
7456     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7457     VARIANT onmouseover();
7458
7459     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7460     void onmousemove(VARIANT v);
7461
7462     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7463     VARIANT onmousemove();
7464
7465     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7466     void onmousedown(VARIANT v);
7467
7468     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7469     VARIANT onmousedown();
7470
7471     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7472     void onmouseup(VARIANT v);
7473
7474     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7475     VARIANT onmouseup();
7476
7477     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
7478
7479     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7480     void title(BSTR v);
7481
7482     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7483     BSTR title();
7484
7485     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7486     void language(BSTR v);
7487
7488     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7489     BSTR language();
7490
7491     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7492     void onselectstart(VARIANT v);
7493
7494     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7495     VARIANT onselectstart();
7496
7497     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
7498     void scrollIntoView([optional, in] VARIANT varargStart);
7499
7500     [id(DISPID_IHTMLELEMENT_CONTAINS)]
7501     VARIANT_BOOL contains([in] IHTMLElement* pChild);
7502
7503     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
7504     LONG sourceIndex();
7505
7506     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
7507     VARIANT recordNumber();
7508
7509     [propput, id(DISPID_IHTMLELEMENT_LANG)]
7510     void lang(BSTR v);
7511
7512     [propget, id(DISPID_IHTMLELEMENT_LANG)]
7513     BSTR lang();
7514
7515     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
7516     LONG offsetLeft();
7517
7518     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
7519     LONG offsetTop();
7520
7521     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
7522     LONG offsetWidth();
7523
7524     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
7525     LONG offsetHeight();
7526
7527     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
7528     IHTMLElement* offsetParent();
7529
7530     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
7531     void innerHTML(BSTR v);
7532
7533     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
7534     BSTR innerHTML();
7535
7536     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7537     void innerText(BSTR v);
7538
7539     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7540     BSTR innerText();
7541
7542     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7543     void outerHTML(BSTR v);
7544
7545     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7546     BSTR outerHTML();
7547
7548     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7549     void outerText(BSTR v);
7550
7551     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7552     BSTR outerText();
7553
7554     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
7555     void insertAdjacentHTML(
7556         [in] BSTR where,
7557         [in] BSTR html);
7558
7559     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
7560     void insertAdjacentText(
7561         [in] BSTR where,
7562         [in] BSTR text);
7563
7564     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
7565     IHTMLElement* parentTextEdit();
7566
7567     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
7568     VARIANT_BOOL isTextEdit();
7569
7570     [id(DISPID_IHTMLELEMENT_CLICK)] void click();
7571
7572     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
7573     IHTMLFiltersCollection* filters();
7574
7575     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7576     void ondragstart(VARIANT v);
7577
7578     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7579     VARIANT ondragstart();
7580
7581     [id(DISPID_IHTMLELEMENT_TOSTRING)]
7582     BSTR toString();
7583
7584     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7585     void onbeforeupdate(VARIANT v);
7586
7587     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7588     VARIANT onbeforeupdate();
7589
7590     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7591     void onafterupdate(VARIANT v);
7592
7593     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7594     VARIANT onafterupdate();
7595
7596     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7597     void onerrorupdate(VARIANT v);
7598
7599     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7600     VARIANT onerrorupdate();
7601
7602     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7603     void onrowexit(VARIANT v);
7604
7605     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7606     VARIANT onrowexit();
7607
7608     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7609     void onrowenter(VARIANT v);
7610
7611     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7612     VARIANT onrowenter();
7613
7614     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7615     void ondatasetchanged(VARIANT v);
7616
7617     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7618     VARIANT ondatasetchanged();
7619
7620     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7621     void ondataavailable(VARIANT v);
7622
7623     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7624     VARIANT ondataavailable();
7625
7626     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7627     void ondatasetcomplete(VARIANT v);
7628
7629     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7630     VARIANT ondatasetcomplete();
7631
7632     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7633     void onfilterchange(VARIANT v);
7634
7635     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7636     VARIANT onfilterchange();
7637
7638     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
7639     IDispatch* children();
7640
7641     [propget, id(DISPID_IHTMLELEMENT_ALL)]
7642     IDispatch* all();
7643
7644     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
7645     BSTR scopeName();
7646
7647     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
7648     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
7649
7650     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
7651     void releaseCapture();
7652
7653     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7654     void onlosecapture(VARIANT v);
7655
7656     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7657     VARIANT onlosecapture();
7658
7659     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
7660     BSTR componentFromPoint([in] LONG x,[in] LONG y);
7661
7662     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
7663     void doScroll([optional, in] VARIANT component);
7664
7665     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7666     void onscroll(VARIANT v);
7667
7668     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7669     VARIANT onscroll();
7670
7671     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7672     void ondrag(VARIANT v);
7673
7674     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7675     VARIANT ondrag();
7676
7677     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7678     void ondragend(VARIANT v);
7679
7680     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7681     VARIANT ondragend();
7682
7683     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7684     void ondragenter(VARIANT v);
7685
7686     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7687     VARIANT ondragenter();
7688
7689     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7690     void ondragover(VARIANT v);
7691
7692     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7693     VARIANT ondragover();
7694
7695     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7696     void ondragleave(VARIANT v);
7697
7698     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7699     VARIANT ondragleave();
7700
7701     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7702      void ondrop(VARIANT v);
7703
7704     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7705     VARIANT ondrop();
7706
7707     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7708     void onbeforecut(VARIANT v);
7709
7710     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7711     VARIANT onbeforecut();
7712
7713     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7714     void oncut(VARIANT v);
7715
7716     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7717     VARIANT oncut();
7718
7719     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7720     void onbeforecopy(VARIANT v);
7721
7722     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7723     VARIANT onbeforecopy();
7724
7725     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7726     void oncopy(VARIANT v);
7727
7728     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7729     VARIANT oncopy();
7730
7731     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7732     void onbeforepaste(VARIANT v);
7733
7734     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7735      VARIANT onbeforepaste();
7736
7737     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7738     void onpaste(VARIANT v);
7739
7740     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7741     VARIANT onpaste();
7742
7743     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
7744     IHTMLCurrentStyle* currentStyle();
7745
7746     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7747     void onpropertychange(VARIANT v);
7748
7749     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7750     VARIANT onpropertychange();
7751
7752     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
7753     IHTMLRectCollection* getClientRects();
7754
7755     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
7756     IHTMLRect* getBoundingClientRect();
7757
7758     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
7759     void setExpression(
7760         [in] BSTR propname,
7761         [in] BSTR expr,
7762         [defaultvalue(""), in] BSTR lang);
7763
7764     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
7765     VARIANT getExpression([in] BSTR propname);
7766
7767     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
7768     VARIANT_BOOL removeExpression([in] BSTR propname);
7769
7770     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7771     void tabIndex(short v);
7772
7773     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7774     short tabIndex();
7775
7776     [id(DISPID_IHTMLELEMENT2_FOCUS)]
7777     void focus();
7778
7779     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7780     void accessKey(BSTR v);
7781
7782     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7783     BSTR accessKey();
7784
7785     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7786     void onblur(VARIANT v);
7787
7788     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7789      VARIANT onblur();
7790
7791     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7792     void onfocus(VARIANT v);
7793
7794     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7795     VARIANT onfocus();
7796
7797     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7798     void onresize(VARIANT v);
7799
7800     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7801     VARIANT onresize();
7802
7803     [id(DISPID_IHTMLELEMENT2_BLUR)]
7804     void blur();
7805
7806     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
7807     void addFilter([in] IUnknown* pUnk);
7808
7809     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
7810     void removeFilter([in] IUnknown* pUnk);
7811
7812     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
7813     LONG clientHeight();
7814
7815     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
7816     LONG clientWidth();
7817
7818     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
7819     LONG clientTop();
7820
7821     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
7822     LONG clientLeft();
7823
7824     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
7825     VARIANT_BOOL attachEvent(
7826         [in] BSTR event,
7827         [in] IDispatch* pDisp);
7828
7829     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
7830     void detachEvent(
7831         [in] BSTR event,
7832         [in] IDispatch* pDisp);
7833
7834     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
7835
7836     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7837      void onreadystatechange(VARIANT v);
7838
7839     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7840     VARIANT onreadystatechange();
7841
7842     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7843     void onrowsdelete(VARIANT v);
7844
7845     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7846     VARIANT onrowsdelete();
7847
7848     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7849     void onrowsinserted(VARIANT v);
7850
7851     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7852     VARIANT onrowsinserted();
7853
7854     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7855     void oncellchange(VARIANT v);
7856
7857     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7858     VARIANT oncellchange();
7859
7860     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7861     void dir(BSTR v);
7862
7863     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7864     BSTR dir();
7865
7866     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
7867     IDispatch* createControlRange();
7868
7869     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
7870     LONG scrollHeight();
7871
7872     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
7873     LONG scrollWidth();
7874
7875     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7876     void scrollTop(LONG v);
7877
7878     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7879     LONG scrollTop();
7880
7881     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7882     void scrollLeft(LONG v);
7883
7884     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7885     LONG scrollLeft();
7886
7887     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
7888     void clearAttributes();
7889
7890     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7891     void oncontextmenu(VARIANT v);
7892
7893     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7894     VARIANT oncontextmenu();
7895
7896     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
7897     IHTMLElement* insertAdjacentElement(
7898         [in] BSTR where,
7899         [in] IHTMLElement* insertedElement);
7900
7901     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
7902     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
7903
7904     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
7905     BSTR getAdjacentText([in] BSTR where);
7906
7907     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
7908     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
7909
7910     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
7911     VARIANT_BOOL canHaveChildren();
7912
7913     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
7914     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
7915
7916     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
7917     VARIANT_BOOL removeBehavior([in] LONG cookie);
7918
7919     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
7920     IHTMLStyle* runtimeStyle();
7921
7922     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
7923     IDispatch* behaviorUrns();
7924
7925     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
7926     void tagUrn(BSTR v);
7927
7928     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
7929     BSTR tagUrn();
7930
7931     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7932     void onbeforeeditfocus(VARIANT v);
7933
7934     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7935     VARIANT onbeforeeditfocus();
7936
7937     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
7938     LONG readyStateValue();
7939
7940     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
7941     IHTMLElementCollection* getElementsByTagName([in] BSTR v);
7942
7943     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
7944     void mergeAttributes(
7945         [in] IHTMLElement* mergeThis,
7946         [optional, in] VARIANT* pvarFlags);
7947
7948     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
7949     VARIANT_BOOL isMultiLine();
7950
7951     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
7952     VARIANT_BOOL canHaveHTML();
7953
7954     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7955     void onlayoutcomplete(VARIANT v);
7956
7957     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7958     VARIANT onlayoutcomplete();
7959
7960     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7961     void onpage(VARIANT v);
7962
7963     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7964     VARIANT onpage();
7965
7966     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7967     void inflateBlock(VARIANT_BOOL v);
7968
7969     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7970     VARIANT_BOOL inflateBlock();
7971
7972     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7973     void onbeforedeactivate(VARIANT v);
7974
7975     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7976     VARIANT onbeforedeactivate();
7977
7978     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
7979     void setActive();
7980
7981     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7982     void contentEditable(BSTR v);
7983
7984     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7985     BSTR contentEditable();
7986
7987     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
7988     VARIANT_BOOL isContentEditable();
7989
7990     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7991     void hideFocus(VARIANT_BOOL v);
7992
7993     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7994     VARIANT_BOOL hideFocus();
7995
7996     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7997     void disabled(VARIANT_BOOL v);
7998
7999     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8000     VARIANT_BOOL disabled();
8001
8002     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
8003     VARIANT_BOOL isDisabled();
8004
8005     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8006     void onmove(VARIANT v);
8007
8008     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8009     VARIANT onmove();
8010
8011     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8012     void oncontrolselect(VARIANT v);
8013
8014     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8015     VARIANT oncontrolselect();
8016
8017     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
8018     VARIANT_BOOL fireEvent(
8019         [in] BSTR bstrEventName,
8020         [optional, in] VARIANT* pvarEventObject);
8021
8022     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8023      void onresizestart(VARIANT v);
8024
8025     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8026     VARIANT onresizestart();
8027
8028     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8029     void onresizeend(VARIANT v);
8030
8031     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8032     VARIANT onresizeend();
8033
8034     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8035     void onmovestart(VARIANT v);
8036
8037     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8038     VARIANT onmovestart();
8039
8040     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8041     void onmoveend(VARIANT v);
8042
8043     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8044     VARIANT onmoveend();
8045
8046     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8047     void onmouseenter(VARIANT v);
8048
8049     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8050     VARIANT onmouseenter();
8051
8052     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8053     void onmouseleave(VARIANT v);
8054
8055     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8056     VARIANT onmouseleave();
8057
8058     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8059     void onactivate(VARIANT v);
8060     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
8061
8062     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8063     void ondeactivate(VARIANT v);
8064
8065     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8066     VARIANT ondeactivate();
8067
8068     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
8069     VARIANT_BOOL dragDrop();
8070
8071     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
8072     LONG glyphMode();
8073
8074     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8075     void onmousewheel(VARIANT v);
8076
8077     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8078     VARIANT onmousewheel();
8079
8080     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
8081     void normalize();
8082
8083     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
8084      IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
8085
8086     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
8087     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
8088
8089     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
8090     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
8091
8092     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8093     void onbeforeactivate(VARIANT v);
8094
8095     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8096     VARIANT onbeforeactivate();
8097
8098     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8099     void onfocusin(VARIANT v);
8100
8101     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8102     VARIANT onfocusin();
8103
8104     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8105     void onfocusout(VARIANT v);
8106
8107     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8108     VARIANT onfocusout();
8109
8110     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
8111     LONG uniqueNumber();
8112
8113     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
8114     BSTR uniqueID();
8115
8116     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
8117     LONG nodeType();
8118
8119     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
8120     IHTMLDOMNode* parentNode();
8121
8122     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
8123     VARIANT_BOOL hasChildNodes();
8124
8125     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
8126     IDispatch* childNodes();
8127
8128     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
8129     IDispatch* attributes();
8130
8131     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
8132     IHTMLDOMNode* insertBefore(
8133         [in] IHTMLDOMNode* newChild,
8134         [optional, in] VARIANT refChild);
8135
8136     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
8137     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
8138
8139     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
8140     IHTMLDOMNode* replaceChild(
8141         [in] IHTMLDOMNode* newChild,
8142         [in] IHTMLDOMNode* oldChild);
8143
8144     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
8145     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
8146
8147     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
8148     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
8149
8150     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
8151     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
8152
8153     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
8154     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
8155
8156     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
8157     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
8158
8159     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
8160     BSTR nodeName();
8161
8162     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8163     void nodeValue(VARIANT v);
8164
8165     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8166     VARIANT nodeValue();
8167
8168     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
8169     IHTMLDOMNode* firstChild();
8170
8171     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
8172     IHTMLDOMNode* lastChild();
8173
8174     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
8175     IHTMLDOMNode* previousSibling();
8176
8177     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
8178     IHTMLDOMNode* nextSibling();
8179
8180     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
8181     IDispatch* ownerDocument();
8182
8183     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8184     void background(BSTR v);
8185
8186     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8187     BSTR background();
8188
8189     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8190     void bgProperties(BSTR v);
8191
8192     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8193     BSTR bgProperties();
8194
8195     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8196     void leftMargin(VARIANT v);
8197
8198     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8199     VARIANT leftMargin();
8200
8201     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8202     void topMargin(VARIANT v);
8203
8204     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8205     VARIANT topMargin();
8206
8207     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8208     void rightMargin(VARIANT v);
8209
8210     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8211     VARIANT rightMargin();
8212
8213     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8214     void bottomMargin(VARIANT v);
8215
8216     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8217     VARIANT bottomMargin();
8218
8219     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8220     void noWrap(VARIANT_BOOL v);
8221
8222     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8223     VARIANT_BOOL noWrap();
8224
8225     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8226     void bgColor(VARIANT v);
8227
8228     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8229     VARIANT bgColor();
8230
8231     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8232     void text(VARIANT v);
8233
8234     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8235     VARIANT text();
8236
8237     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8238     void link(VARIANT v);
8239
8240     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8241     VARIANT link();
8242
8243     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8244     void vLink(VARIANT v);
8245
8246     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8247     VARIANT vLink();
8248
8249     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8250     void aLink(VARIANT v);
8251
8252     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8253     VARIANT aLink();
8254
8255     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8256     void onload(VARIANT v);
8257
8258     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8259     VARIANT onload();
8260
8261     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8262     void onunload(VARIANT v);
8263
8264     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8265     VARIANT onunload();
8266
8267     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8268     void scroll(BSTR v);
8269
8270     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8271     BSTR scroll();
8272
8273     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8274     void onselect(VARIANT v);
8275
8276     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8277     VARIANT onselect();
8278
8279     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8280     void onbeforeunload(VARIANT v);
8281
8282     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8283     VARIANT onbeforeunload();
8284
8285     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8286     IHTMLTxtRange* createTextRange();
8287
8288     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8289     void onbeforeprint(VARIANT v);
8290
8291     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8292     VARIANT onbeforeprint();
8293
8294     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8295     void onafterprint(VARIANT v);
8296
8297     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8298     VARIANT onafterprint();
8299 };
8300
8301 [
8302     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8303 ]
8304 coclass HTMLBody
8305 {
8306     [default]           dispinterface DispHTMLBody;
8307     [source, default]   dispinterface HTMLTextContainerEvents;
8308     [source]            dispinterface HTMLTextContainerEvents2;
8309                         interface IHTMLElement;
8310                         interface IHTMLElement2;
8311                         interface IHTMLElement3;
8312                         interface IHTMLElement4;
8313                         interface IHTMLUniqueName;
8314                         interface IHTMLDOMNode;
8315                         interface IHTMLDOMNode2;
8316                         interface IHTMLControlElement;
8317                         interface IHTMLTextContainer;
8318                         interface IHTMLBodyElement;
8319                         interface IHTMLBodyElement2;
8320 };
8321
8322 /*****************************************************************************
8323  *    IHTMLAnchorElement interface
8324  */
8325 [
8326     odl,
8327     oleautomation,
8328     dual,
8329     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8330 ]
8331 interface IHTMLAnchorElement : IDispatch
8332 {
8333     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8334     HRESULT href([in] BSTR v);
8335
8336     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8337     HRESULT href([retval, out] BSTR *p);
8338
8339     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8340     HRESULT target([in] BSTR v);
8341
8342     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8343     HRESULT target([retval, out] BSTR *p);
8344
8345     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8346     HRESULT rel([in] BSTR v);
8347
8348     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8349     HRESULT rel([retval, out] BSTR *p);
8350
8351     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8352     HRESULT rev([in] BSTR v);
8353
8354     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8355     HRESULT rev([retval, out] BSTR *p);
8356
8357     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8358     HRESULT urn([in] BSTR v);
8359
8360     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8361     HRESULT urn([retval, out] BSTR *p);
8362
8363     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8364     HRESULT Methods([in] BSTR v);
8365
8366     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8367     HRESULT Methods([retval, out] BSTR *p);
8368
8369     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8370     HRESULT name([in] BSTR v);
8371
8372     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8373     HRESULT name([retval, out] BSTR *p);
8374
8375     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8376     HRESULT host([in] BSTR v);
8377
8378     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8379     HRESULT host([retval, out] BSTR *p);
8380
8381     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8382     HRESULT hostname([in] BSTR v);
8383
8384     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8385     HRESULT hostname([retval, out] BSTR *p);
8386
8387     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8388     HRESULT pathname([in] BSTR v);
8389
8390     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8391     HRESULT pathname([retval, out] BSTR *p);
8392
8393     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8394     HRESULT port([in] BSTR v);
8395
8396     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8397     HRESULT port([retval, out] BSTR *p);
8398
8399     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8400     HRESULT protocol([in] BSTR v);
8401
8402     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8403     HRESULT protocol([retval, out] BSTR *p);
8404
8405     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8406     HRESULT search([in] BSTR v);
8407
8408     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8409     HRESULT search([retval, out] BSTR *p);
8410
8411     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8412     HRESULT hash([in] BSTR v);
8413
8414     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8415     HRESULT hash([retval, out] BSTR *p);
8416
8417     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8418     HRESULT onblur([in] VARIANT v);
8419
8420     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8421     HRESULT onblur([retval, out] VARIANT *p);
8422
8423     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8424     HRESULT onfocus([in] VARIANT v);
8425
8426     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8427     HRESULT onfocus([retval, out] VARIANT *p);
8428
8429     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8430     HRESULT accessKey([in] BSTR v);
8431
8432     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8433     HRESULT accessKey([retval, out] BSTR *p);
8434
8435     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8436     HRESULT protocolLong([retval, out] BSTR *p);
8437
8438     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8439     HRESULT mimeType([retval, out] BSTR *p);
8440
8441     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8442     HRESULT nameProp([retval, out] BSTR *p);
8443
8444     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8445     HRESULT tabIndex([in] short v);
8446
8447     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8448     HRESULT tabIndex([retval, out] short *p);
8449
8450     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8451     HRESULT focus();
8452
8453     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8454     HRESULT blur();
8455 }
8456
8457 /*****************************************************************************
8458  *    IHTMLElementCollection interface
8459  */
8460 [
8461     odl,
8462     oleautomation,
8463     dual,
8464     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8465 ]
8466 interface IHTMLElementCollection : IDispatch
8467 {
8468     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8469     HRESULT toString([retval, out] BSTR *String);
8470
8471     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8472     HRESULT length([in] LONG v);
8473
8474     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8475     HRESULT length([retval, out] LONG *p);
8476
8477     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8478     HRESULT _newEnum([retval, out] IUnknown **p);
8479
8480     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8481     HRESULT item(
8482         [optional, in] VARIANT name,
8483         [optional, in] VARIANT index,
8484         [retval,  out] IDispatch **pdisp);
8485
8486     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8487     HRESULT tags(
8488         [in] VARIANT tagName,
8489         [retval, out] IDispatch **pdisp);
8490 }
8491
8492 /*****************************************************************************
8493  *    DispHTMLElementCollection dispinterface
8494  */
8495 [
8496     hidden,
8497     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8498 ]
8499 dispinterface DispHTMLElementCollection
8500 {
8501 properties:
8502 methods:
8503     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8504     BSTR toString();
8505
8506     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8507     void length(LONG v);
8508
8509     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8510     LONG length();
8511
8512     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8513     IUnknown *_newEnum();
8514
8515     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8516     IDispatch *item(
8517             [in, optional] VARIANT name,
8518             [in, optional] VARIANT index);
8519
8520     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8521     IDispatch *tags(
8522             [in] VARIANT tagName);
8523
8524     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8525     IDispatch *urns([in] VARIANT urn);
8526
8527     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8528     IDispatch *namedItem([in] BSTR name);
8529 }
8530
8531 /*****************************************************************************
8532  *    IHTMLSelectElement interface
8533  */
8534 [
8535     odl,
8536     oleautomation,
8537     dual,
8538     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8539 ]
8540 interface IHTMLSelectElement : IDispatch
8541 {
8542     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8543     HRESULT size([in] LONG v);
8544
8545     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8546     HRESULT size([retval, out] LONG *p);
8547
8548     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8549     HRESULT multiple([in] VARIANT_BOOL v);
8550
8551     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8552     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8553
8554     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8555     HRESULT name([in] BSTR v);
8556
8557     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8558     HRESULT name([retval, out] BSTR *p);
8559
8560     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8561     HRESULT options([retval, out] IDispatch **p);
8562
8563     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8564     HRESULT onchange([in] VARIANT v);
8565
8566     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8567     HRESULT onchange([retval, out] VARIANT *p);
8568
8569     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8570     HRESULT selectedIndex([in] LONG v);
8571
8572     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8573     HRESULT selectedIndex([retval, out] LONG *p);
8574
8575     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8576     HRESULT type([retval, out] BSTR *p);
8577
8578     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8579     HRESULT value([in] BSTR v);
8580
8581     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8582     HRESULT value([retval, out] BSTR *p);
8583
8584     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8585     HRESULT disabled([in] VARIANT_BOOL v);
8586
8587     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8588     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8589
8590     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8591     HRESULT form([retval, out] IHTMLFormElement **p);
8592
8593     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8594     HRESULT add(
8595         [in] IHTMLElement *element,
8596         [optional, in] VARIANT before);
8597
8598     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8599     HRESULT remove([defaultvalue(-1), in] LONG index);
8600
8601     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8602     HRESULT length([in] LONG v);
8603
8604     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8605     HRESULT length([retval, out] LONG *p);
8606
8607     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8608     HRESULT _newEnum([retval, out] IUnknown **p);
8609
8610     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8611     HRESULT item(
8612         [optional, in] VARIANT name,
8613         [optional, in] VARIANT index,
8614         [retval, out] IDispatch **pdisp);
8615
8616     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8617     HRESULT tags(
8618         [in] VARIANT tagName,
8619         [retval, out] IDispatch **pdisp);
8620 }
8621
8622 /*****************************************************************************
8623  *    DispHTMLSelectElement dispinterface
8624  */
8625 [
8626     hidden,
8627     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8628 ]
8629 dispinterface DispHTMLSelectElement
8630 {
8631 properties:
8632 methods:
8633     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
8634     void setAttribute(
8635             [in] BSTR strAttributeName,
8636             [in] VARIANT AttributeValue,
8637             [in, defaultvalue(1)] LONG lFlags);
8638
8639     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
8640     VARIANT getAttribute(
8641              [in] BSTR strAttributeName,
8642              [in, defaultvalue(0)] LONG lFlags);
8643
8644     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
8645     VARIANT_BOOL removeAttribute(
8646             [in] BSTR strAttributeName,
8647             [in, defaultvalue(1)] LONG lFlags);
8648
8649     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8650     void className(BSTR v);
8651
8652     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8653     BSTR className();
8654
8655     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
8656     void id(BSTR v);
8657
8658     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
8659     BSTR id();
8660
8661     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
8662     BSTR tagName();
8663
8664     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
8665     IHTMLElement *parentElement();
8666
8667     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
8668     IHTMLStyle *style();
8669
8670     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8671     void onhelp(VARIANT v);
8672
8673     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8674     VARIANT onhelp();
8675
8676     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8677     void onclick(VARIANT v);
8678
8679     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8680     VARIANT onclick();
8681
8682     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8683     void ondblclick(VARIANT v);
8684
8685     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8686     VARIANT ondblclick();
8687
8688     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8689     void onkeydown(VARIANT v);
8690
8691     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8692     VARIANT onkeydown();
8693
8694     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8695     void onkeyup(VARIANT v);
8696
8697     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8698     VARIANT onkeyup();
8699
8700     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8701     void onkeypress(VARIANT v);
8702
8703     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8704     VARIANT onkeypress();
8705
8706     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8707     void onmouseout(VARIANT v);
8708
8709     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8710     VARIANT onmouseout();
8711
8712     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8713     void onmouseover(VARIANT v);
8714
8715     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8716     VARIANT onmouseover();
8717
8718     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8719     void onmousemove(VARIANT v);
8720
8721     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8722     VARIANT onmousemove();
8723
8724     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8725     void onmousedown(VARIANT v);
8726
8727     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8728     VARIANT onmousedown();
8729
8730     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8731     void onmouseup(VARIANT v);
8732
8733     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8734     VARIANT onmouseup();
8735
8736     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
8737     IDispatch *document();
8738
8739     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8740     void title(BSTR v);
8741
8742     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8743     BSTR title();
8744
8745     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8746     void language(BSTR v);
8747
8748     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8749     BSTR language();
8750
8751     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8752     void onselectstart(VARIANT v);
8753
8754     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8755     VARIANT onselectstart();
8756
8757     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
8758     void scrollIntoView([in, optional] VARIANT varargStart);
8759
8760     [id(DISPID_IHTMLELEMENT_CONTAINS)]
8761     VARIANT_BOOL contains([in] IHTMLElement *pChild);
8762
8763     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
8764     LONG sourceIndex();
8765
8766     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
8767     VARIANT recordNumber();
8768
8769     [propput, id(DISPID_IHTMLELEMENT_LANG)]
8770     void lang(BSTR v);
8771
8772     [propget, id(DISPID_IHTMLELEMENT_LANG)]
8773     BSTR lang();
8774
8775     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
8776     LONG offsetLeft();
8777
8778     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
8779     LONG offsetTop();
8780
8781     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
8782     LONG offsetWidth();
8783
8784     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
8785     LONG offsetHeight();
8786
8787     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
8788     IHTMLElement *offsetParent();
8789
8790     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
8791     void innerHTML(BSTR v);
8792
8793     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
8794     BSTR innerHTML();
8795
8796     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8797     void innerText(BSTR v);
8798
8799     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8800     BSTR innerText();
8801
8802     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8803     void outerHTML(BSTR v);
8804
8805     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8806     BSTR outerHTML();
8807
8808     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8809     void outerText(BSTR v);
8810
8811     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8812     BSTR outerText();
8813
8814     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
8815     void insertAdjacentHTML(
8816             [in] BSTR where,
8817             [in] BSTR html);
8818
8819     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
8820     void insertAdjacentText(
8821             [in] BSTR where,
8822             [in] BSTR text);
8823
8824     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
8825     IHTMLElement *parentTextEdit();
8826
8827     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
8828     VARIANT_BOOL isTextEdit();
8829
8830     [id(DISPID_IHTMLELEMENT_CLICK)]
8831     void click();
8832
8833     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
8834     IHTMLFiltersCollection *filters();
8835
8836     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8837     void ondragstart(VARIANT v);
8838
8839     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8840     VARIANT ondragstart();
8841
8842     [id(DISPID_IHTMLELEMENT_TOSTRING)]
8843     BSTR toString();
8844
8845     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8846     void onbeforeupdate(VARIANT v);
8847
8848     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8849     VARIANT onbeforeupdate();
8850
8851     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8852     void onafterupdate(VARIANT v);
8853
8854     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8855     VARIANT onafterupdate();
8856
8857     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8858     void onerrorupdate(VARIANT v);
8859
8860     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8861     VARIANT onerrorupdate();
8862
8863     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8864     void onrowexit(VARIANT v);
8865
8866     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8867     VARIANT onrowexit();
8868
8869     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8870     void onrowenter(VARIANT v);
8871
8872     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8873     VARIANT onrowenter();
8874
8875     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8876     void ondatasetchanged(VARIANT v);
8877
8878     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8879     VARIANT ondatasetchanged();
8880
8881     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8882     void ondataavailable(VARIANT v);
8883
8884     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8885     VARIANT ondataavailable();
8886
8887     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8888     void ondatasetcomplete(VARIANT v);
8889
8890     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8891     VARIANT ondatasetcomplete();
8892
8893     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8894     void onfilterchange(VARIANT v);
8895
8896     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8897     VARIANT onfilterchange();
8898
8899     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
8900     IDispatch *children();
8901
8902     [propget, id(DISPID_IHTMLELEMENT_ALL)]
8903     IDispatch *all();
8904
8905     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
8906     BSTR scopeName();
8907
8908     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
8909     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
8910
8911     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
8912     void releaseCapture();
8913
8914     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8915     void onlosecapture(VARIANT v);
8916
8917     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8918     VARIANT onlosecapture();
8919
8920     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
8921     BSTR componentFromPoint(
8922             [in] LONG x,
8923             [in] LONG y);
8924
8925     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
8926     void doScroll([in, optional] VARIANT component);
8927
8928     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8929     void onscroll(VARIANT v);
8930
8931     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8932     VARIANT onscroll();
8933
8934     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8935     void ondrag(VARIANT v);
8936
8937     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8938     VARIANT ondrag();
8939
8940     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8941     void ondragend(VARIANT v);
8942
8943     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8944     VARIANT ondragend();
8945
8946     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8947     void ondragenter(VARIANT v);
8948
8949     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8950     VARIANT ondragenter();
8951
8952     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8953     void ondragover(VARIANT v);
8954
8955     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8956     VARIANT ondragover();
8957
8958     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8959     void ondragleave(VARIANT v);
8960
8961     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8962     VARIANT ondragleave();
8963
8964     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8965     void ondrop(VARIANT v);
8966
8967     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8968     VARIANT ondrop();
8969
8970     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8971     void onbeforecut(VARIANT v);
8972
8973     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8974     VARIANT onbeforecut();
8975
8976     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8977     void oncut(VARIANT v);
8978
8979     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8980     VARIANT oncut();
8981
8982     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8983     void onbeforecopy(VARIANT v);
8984
8985     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8986     VARIANT onbeforecopy();
8987
8988     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8989     void oncopy(VARIANT v);
8990
8991     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8992     VARIANT oncopy();
8993
8994     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8995     void onbeforepaste(VARIANT v);
8996
8997     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8998     VARIANT onbeforepaste();
8999
9000     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9001     void onpaste(VARIANT v);
9002
9003     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9004     VARIANT onpaste();
9005
9006     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
9007     IHTMLCurrentStyle *currentStyle();
9008
9009     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9010     void onpropertychange(VARIANT v);
9011
9012     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9013     VARIANT onpropertychange();
9014
9015     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
9016     IHTMLRectCollection *getClientRects();
9017
9018     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
9019     IHTMLRect *getBoundingClientRect();
9020
9021     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
9022     void setExpression(
9023             [in] BSTR propname,
9024             [in] BSTR expression,
9025             [in, defaultvalue("")] BSTR language);
9026
9027     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
9028     VARIANT getExpression([in] BSTR propname);
9029
9030     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
9031     VARIANT_BOOL removeExpression([in] BSTR propname);
9032
9033     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9034     void tabIndex(short v);
9035
9036     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9037     short tabIndex();
9038
9039     [id(DISPID_IHTMLELEMENT2_FOCUS)]
9040     void focus();
9041
9042     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9043     void accessKey(BSTR v);
9044
9045     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9046     BSTR accessKey();
9047
9048     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9049     void onblur(VARIANT v);
9050
9051     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9052     VARIANT onblur();
9053
9054     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9055     void onfocus(VARIANT v);
9056
9057     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9058     VARIANT onfocus();
9059
9060     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9061     void onresize(VARIANT v);
9062
9063     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9064     VARIANT onresize();
9065
9066     [id(DISPID_IHTMLELEMENT2_BLUR)]
9067     void blur();
9068
9069     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
9070     void addFilter([in] IUnknown *pUnk);
9071
9072     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
9073     void removeFilter([in] IUnknown *pUnk);
9074
9075     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
9076     LONG clientHeight();
9077
9078     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
9079     LONG clientWidth();
9080
9081     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
9082     LONG clientTop();
9083
9084     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
9085     LONG clientLeft();
9086
9087     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
9088     VARIANT_BOOL attachEvent(
9089             [in] BSTR event,
9090             [in] IDispatch *pDisp);
9091
9092     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
9093     void detachEvent(
9094             [in] BSTR event,
9095             [in] IDispatch *pDisp);
9096
9097     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
9098     VARIANT readyState();
9099
9100     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9101     void onreadystatechange(VARIANT v);
9102
9103     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9104     VARIANT onreadystatechange();
9105
9106     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9107     void onrowsdelete(VARIANT v);
9108
9109     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9110     VARIANT onrowsdelete();
9111
9112     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9113     void onrowsinserted(VARIANT v);
9114
9115     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9116      VARIANT onrowsinserted();
9117
9118     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9119      void oncellchange(VARIANT v);
9120
9121     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9122     VARIANT oncellchange();
9123
9124     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9125     void dir(BSTR v);
9126
9127     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9128     BSTR dir();
9129
9130     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
9131     IDispatch *createControlRange();
9132
9133     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
9134     LONG scrollHeight();
9135
9136     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
9137     LONG scrollWidth();
9138
9139     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9140     void scrollTop(LONG v);
9141
9142     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9143     LONG scrollTop();
9144
9145     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9146     void scrollLeft(LONG v);
9147
9148     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9149     LONG scrollLeft();
9150
9151     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
9152     void clearAttributes();
9153
9154     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9155     void oncontextmenu(VARIANT v);
9156
9157     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9158     VARIANT oncontextmenu();
9159
9160     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
9161     IHTMLElement *insertAdjacentElement(
9162             [in] BSTR where,
9163             [in] IHTMLElement *insertedElement);
9164
9165     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
9166     IHTMLElement *applyElement(
9167             [in] IHTMLElement *apply,
9168             [in] BSTR where);
9169
9170     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
9171     BSTR getAdjacentText([in] BSTR where);
9172
9173     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
9174     BSTR replaceAdjacentText(
9175             [in] BSTR where,
9176             [in] BSTR newText);
9177
9178     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
9179     VARIANT_BOOL canHaveChildren();
9180
9181     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
9182     LONG addBehavior(
9183             [in] BSTR bstrUrl,
9184             [in, optional] VARIANT *pvarFactory);
9185
9186     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
9187     VARIANT_BOOL removeBehavior([in] LONG cookie);
9188
9189     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
9190     IHTMLStyle *runtimeStyle();
9191
9192     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
9193     IDispatch *behaviorUrns();
9194
9195     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
9196     void tagUrn(BSTR v);
9197
9198     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
9199     BSTR tagUrn();
9200
9201     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9202     void onbeforeeditfocus(VARIANT v);
9203
9204     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9205     VARIANT onbeforeeditfocus();
9206
9207     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
9208     LONG readyStateValue();
9209
9210     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
9211     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
9212
9213     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
9214     void mergeAttributes(
9215             [in] IHTMLElement *mergeThis,
9216             [in, optional] VARIANT *pvarFlags);
9217
9218     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
9219     VARIANT_BOOL isMultiLine();
9220
9221     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
9222     VARIANT_BOOL canHaveHTML();
9223
9224     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9225     void onlayoutcomplete(VARIANT v);
9226
9227     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9228     VARIANT onlayoutcomplete();
9229
9230     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9231     void onpage(VARIANT v);
9232
9233     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9234     VARIANT onpage();
9235
9236     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9237     void inflateBlock(VARIANT_BOOL v);
9238
9239     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9240     VARIANT_BOOL inflateBlock();
9241
9242     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9243     void onbeforedeactivate(VARIANT v);
9244
9245     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9246     VARIANT onbeforedeactivate();
9247
9248     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
9249     void setActive();
9250
9251     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9252     void contentEditable(BSTR v);
9253
9254     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9255     BSTR contentEditable();
9256
9257     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
9258     VARIANT_BOOL isContentEditable();
9259
9260     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9261     void hideFocus(VARIANT_BOOL v);
9262
9263     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9264     VARIANT_BOOL hideFocus();
9265
9266     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9267     void disabled(VARIANT_BOOL v);
9268
9269     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9270     VARIANT_BOOL disabled();
9271
9272     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
9273     VARIANT_BOOL isDisabled();
9274
9275     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9276     void onmove(VARIANT v);
9277
9278     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9279     VARIANT onmove();
9280
9281     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9282     void oncontrolselect(VARIANT v);
9283
9284     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9285     VARIANT oncontrolselect();
9286
9287     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
9288     VARIANT_BOOL fireEvent(
9289             [in] BSTR bstrEventName,
9290             [in, optional] VARIANT *pvarEventObject);
9291
9292     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9293     void onresizestart(VARIANT v);
9294
9295     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9296     VARIANT onresizestart();
9297
9298     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9299     void onresizeend(VARIANT v);
9300
9301     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9302     VARIANT onresizeend();
9303
9304     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9305     void onmovestart(VARIANT v);
9306
9307     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9308     VARIANT onmovestart();
9309
9310     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9311     void onmoveend(VARIANT v);
9312
9313     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9314     VARIANT onmoveend();
9315
9316     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9317     void onmouseenter(VARIANT v);
9318
9319     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9320     VARIANT onmouseenter();
9321
9322     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9323     void onmouseleave(VARIANT v);
9324
9325     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9326     VARIANT onmouseleave();
9327
9328     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9329     void onactivate(VARIANT v);
9330
9331     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9332     VARIANT onactivate();
9333
9334     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9335     void ondeactivate(VARIANT v);
9336
9337     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9338     VARIANT ondeactivate();
9339
9340     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
9341     VARIANT_BOOL dragDrop();
9342
9343     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
9344     LONG glyphMode();
9345
9346     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9347     void onmousewheel(VARIANT v);
9348
9349     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9350     VARIANT onmousewheel();
9351
9352     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
9353     void normalize();
9354
9355     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
9356     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
9357
9358     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
9359     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
9360
9361     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
9362     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
9363
9364     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9365     void onbeforeactivate(VARIANT v);
9366
9367     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9368     VARIANT onbeforeactivate();
9369
9370     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9371     void onfocusin(VARIANT v);
9372
9373     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9374     VARIANT onfocusin();
9375
9376     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9377     void onfocusout(VARIANT v);
9378
9379     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9380     VARIANT onfocusout();
9381
9382     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
9383     LONG uniqueNumber();
9384
9385     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
9386     BSTR uniqueID();
9387
9388     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
9389     LONG nodeType();
9390
9391     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
9392     IHTMLDOMNode *parentNode();
9393
9394     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
9395     VARIANT_BOOL hasChildNodes();
9396
9397     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
9398     IDispatch *childNodes();
9399
9400     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
9401     IDispatch *attributes();
9402
9403     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
9404     IHTMLDOMNode *insertBefore(
9405             [in] IHTMLDOMNode *newChild,
9406             [in, optional] VARIANT refChild);
9407
9408     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
9409     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
9410
9411     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
9412     IHTMLDOMNode *replaceChild(
9413             [in] IHTMLDOMNode *newChild,
9414             [in] IHTMLDOMNode *oldChild);
9415
9416     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
9417     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
9418
9419     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
9420     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
9421
9422     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
9423     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
9424
9425     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
9426     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
9427
9428     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
9429     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
9430
9431     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
9432     BSTR nodeName();
9433
9434     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9435     void nodeValue(VARIANT v);
9436
9437     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9438     VARIANT nodeValue();
9439
9440     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
9441     IHTMLDOMNode *firstChild();
9442
9443     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
9444     IHTMLDOMNode *lastChild();
9445
9446     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
9447     IHTMLDOMNode *previousSibling();
9448
9449     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
9450     IHTMLDOMNode *nextSibling();
9451
9452     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
9453     IDispatch *ownerDocument();
9454
9455     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9456     void dataFld(BSTR v);
9457
9458     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9459     BSTR dataFld();
9460
9461     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
9462     void dataSrc(BSTR v);
9463
9464     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
9465     BSTR dataSrc();
9466
9467     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9468     void dataFormatAs(BSTR v);
9469
9470     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9471     BSTR dataFormatAs();
9472
9473     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9474     void size(LONG v);
9475
9476     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9477     LONG size();
9478
9479     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9480     void multiple(VARIANT_BOOL v);
9481
9482     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9483     VARIANT_BOOL multiple();
9484
9485     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9486     void name(BSTR v);
9487
9488     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9489     BSTR name();
9490
9491     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9492     IDispatch *options();
9493
9494     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9495     void onchange(VARIANT v);
9496
9497     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9498     VARIANT onchange();
9499
9500     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9501     void selectedIndex(LONG v);
9502
9503     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9504     LONG selectedIndex();
9505
9506     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9507     BSTR type();
9508
9509     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9510     void value(BSTR v);
9511
9512     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9513     BSTR value();
9514
9515     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9516     IHTMLFormElement *form();
9517
9518     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9519     void add(
9520             [in] IHTMLElement *element,
9521             [in, optional] VARIANT before);
9522
9523     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9524     void remove([in, defaultvalue(-1)] LONG index);
9525
9526     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9527     void length(LONG v);
9528
9529     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9530     LONG length();
9531
9532     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9533     IUnknown *_newEnum();
9534
9535     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9536     IDispatch *item(
9537             [in, optional] VARIANT name,
9538             [in, optional] VARIANT index);
9539
9540     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9541     IDispatch *tags([in] VARIANT tagName);
9542
9543     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
9544     IDispatch *urns([in] VARIANT urn);
9545
9546     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
9547     IDispatch *namedItem([in] BSTR name);
9548 }
9549
9550 /*****************************************************************************
9551  *    IHTMLSelectionObject interface
9552  */
9553 [
9554     odl,
9555     oleautomation,
9556     dual,
9557     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
9558 ]
9559 interface IHTMLSelectionObject : IDispatch
9560 {
9561     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
9562     HRESULT createRange([retval, out] IDispatch **range);
9563
9564     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
9565     HRESULT empty();
9566
9567     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
9568     HRESULT clear();
9569
9570     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
9571     HRESULT type([retval, out] BSTR *p);
9572 }
9573
9574 /*****************************************************************************
9575  *    IHTMLOptionElement interface
9576  */
9577 [
9578     odl,
9579     oleautomation,
9580     dual,
9581     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
9582 ]
9583 interface IHTMLOptionElement : IDispatch
9584 {
9585     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9586     HRESULT selected([in] VARIANT_BOOL v);
9587
9588     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9589     HRESULT selected([retval, out] VARIANT_BOOL *p);
9590
9591     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9592     HRESULT value([in] BSTR v);
9593
9594     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9595     HRESULT value([retval, out] BSTR *p);
9596
9597     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9598     HRESULT defaultSelected([in] VARIANT_BOOL v);
9599
9600     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9601     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
9602
9603     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9604     HRESULT index([in] LONG v);
9605
9606     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9607     HRESULT index([retval, out] LONG *p);
9608
9609     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9610     HRESULT text([in] BSTR v);
9611
9612     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9613     HRESULT text([retval, out] BSTR *p);
9614
9615     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9616     HRESULT form([retval, out] IHTMLFormElement **p);
9617 }
9618
9619 /*****************************************************************************
9620  *    IHTMLOptionElementFactory interface
9621  */
9622 [
9623     odl,
9624     oleautomation,
9625     dual,
9626     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
9627 ]
9628 interface IHTMLOptionElementFactory : IDispatch
9629 {
9630     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
9631     HRESULT create(
9632         [optional, in] VARIANT text,
9633         [optional, in] VARIANT value,
9634         [optional, in] VARIANT defaultselected,
9635         [optional, in] VARIANT selected,
9636         [retval, out] IHTMLOptionElement **optelem);
9637 }
9638
9639 /*****************************************************************************
9640  *    DispHTMLOptionElement dispinterface
9641  */
9642 [
9643     hidden,
9644     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
9645 ]
9646 dispinterface DispHTMLOptionElement
9647 {
9648 properties:
9649 methods:
9650     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
9651     void setAttribute(
9652             [in] BSTR strAttributeName,
9653             [in] VARIANT AttributeValue,
9654             [in, defaultvalue(1)] LONG lFlags);
9655
9656     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
9657     VARIANT getAttribute(
9658              [in] BSTR strAttributeName,
9659              [in, defaultvalue(0)] LONG lFlags);
9660
9661     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
9662     VARIANT_BOOL removeAttribute(
9663             [in] BSTR strAttributeName,
9664             [in, defaultvalue(1)] LONG lFlags);
9665
9666     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9667     void className(BSTR v);
9668
9669     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9670     BSTR className();
9671
9672     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
9673     void id(BSTR v);
9674
9675     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
9676     BSTR id();
9677
9678     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
9679     BSTR tagName();
9680
9681     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
9682     IHTMLElement *parentElement();
9683
9684     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
9685     IHTMLStyle *style();
9686
9687     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9688     void onhelp(VARIANT v);
9689
9690     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9691     VARIANT onhelp();
9692
9693     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9694     void onclick(VARIANT v);
9695
9696     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9697     VARIANT onclick();
9698
9699     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9700     void ondblclick(VARIANT v);
9701
9702     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9703     VARIANT ondblclick();
9704
9705     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9706     void onkeydown(VARIANT v);
9707
9708     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9709     VARIANT onkeydown();
9710
9711     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9712     void onkeyup(VARIANT v);
9713
9714     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9715     VARIANT onkeyup();
9716
9717     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9718     void onkeypress(VARIANT v);
9719
9720     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9721     VARIANT onkeypress();
9722
9723     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9724     void onmouseout(VARIANT v);
9725
9726     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9727     VARIANT onmouseout();
9728
9729     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9730     void onmouseover(VARIANT v);
9731
9732     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9733     VARIANT onmouseover();
9734
9735     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9736     void onmousemove(VARIANT v);
9737
9738     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9739     VARIANT onmousemove();
9740
9741     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9742     void onmousedown(VARIANT v);
9743
9744     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9745     VARIANT onmousedown();
9746
9747     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9748     void onmouseup(VARIANT v);
9749
9750     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9751     VARIANT onmouseup();
9752
9753     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
9754     IDispatch *document();
9755
9756     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9757     void title(BSTR v);
9758
9759     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9760     BSTR title();
9761
9762     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9763     void language(BSTR v);
9764
9765     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9766     BSTR language();
9767
9768     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9769     void onselectstart(VARIANT v);
9770
9771     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9772     VARIANT onselectstart();
9773
9774     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
9775     void scrollIntoView([in, optional] VARIANT varargStart);
9776
9777     [id(DISPID_IHTMLELEMENT_CONTAINS)]
9778     VARIANT_BOOL contains([in] IHTMLElement *pChild);
9779
9780     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
9781     LONG sourceIndex();
9782
9783     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
9784     VARIANT recordNumber();
9785
9786     [propput, id(DISPID_IHTMLELEMENT_LANG)]
9787     void lang(BSTR v);
9788
9789     [propget, id(DISPID_IHTMLELEMENT_LANG)]
9790     BSTR lang();
9791
9792     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
9793     LONG offsetLeft();
9794
9795     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
9796     LONG offsetTop();
9797
9798     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
9799     LONG offsetWidth();
9800
9801     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
9802     LONG offsetHeight();
9803
9804     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
9805     IHTMLElement *offsetParent();
9806
9807     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
9808     void innerHTML(BSTR v);
9809
9810     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
9811     BSTR innerHTML();
9812
9813     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9814     void innerText(BSTR v);
9815
9816     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9817     BSTR innerText();
9818
9819     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9820     void outerHTML(BSTR v);
9821
9822     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9823     BSTR outerHTML();
9824
9825     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9826     void outerText(BSTR v);
9827
9828     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9829     BSTR outerText();
9830
9831     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
9832     void insertAdjacentHTML(
9833             [in] BSTR where,
9834             [in] BSTR html);
9835
9836     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
9837     void insertAdjacentText(
9838             [in] BSTR where,
9839             [in] BSTR text);
9840
9841     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
9842     IHTMLElement *parentTextEdit();
9843
9844     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
9845     VARIANT_BOOL isTextEdit();
9846
9847     [id(DISPID_IHTMLELEMENT_CLICK)]
9848     void click();
9849
9850     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
9851     IHTMLFiltersCollection *filters();
9852
9853     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9854     void ondragstart(VARIANT v);
9855
9856     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9857     VARIANT ondragstart();
9858
9859     [id(DISPID_IHTMLELEMENT_TOSTRING)]
9860     BSTR toString();
9861
9862     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9863     void onbeforeupdate(VARIANT v);
9864
9865     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9866     VARIANT onbeforeupdate();
9867
9868     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9869     void onafterupdate(VARIANT v);
9870
9871     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9872     VARIANT onafterupdate();
9873
9874     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9875     void onerrorupdate(VARIANT v);
9876
9877     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9878     VARIANT onerrorupdate();
9879
9880     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9881     void onrowexit(VARIANT v);
9882
9883     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9884     VARIANT onrowexit();
9885
9886     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9887     void onrowenter(VARIANT v);
9888
9889     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9890     VARIANT onrowenter();
9891
9892     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9893     void ondatasetchanged(VARIANT v);
9894
9895     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9896     VARIANT ondatasetchanged();
9897
9898     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9899     void ondataavailable(VARIANT v);
9900
9901     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9902     VARIANT ondataavailable();
9903
9904     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9905     void ondatasetcomplete(VARIANT v);
9906
9907     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9908     VARIANT ondatasetcomplete();
9909
9910     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9911     void onfilterchange(VARIANT v);
9912
9913     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9914     VARIANT onfilterchange();
9915
9916     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
9917     IDispatch *children();
9918
9919     [propget, id(DISPID_IHTMLELEMENT_ALL)]
9920     IDispatch *all();
9921
9922     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
9923     BSTR scopeName();
9924
9925     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
9926     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
9927
9928     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
9929     void releaseCapture();
9930
9931     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9932     void onlosecapture(VARIANT v);
9933
9934     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9935     VARIANT onlosecapture();
9936
9937     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
9938     BSTR componentFromPoint(
9939             [in] LONG x,
9940             [in] LONG y);
9941
9942     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
9943     void doScroll([in, optional] VARIANT component);
9944
9945     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9946     void onscroll(VARIANT v);
9947
9948     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9949     VARIANT onscroll();
9950
9951     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9952     void ondrag(VARIANT v);
9953
9954     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9955     VARIANT ondrag();
9956
9957     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9958     void ondragend(VARIANT v);
9959
9960     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9961     VARIANT ondragend();
9962
9963     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9964     void ondragenter(VARIANT v);
9965
9966     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9967     VARIANT ondragenter();
9968
9969     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9970     void ondragover(VARIANT v);
9971
9972     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9973     VARIANT ondragover();
9974
9975     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9976     void ondragleave(VARIANT v);
9977
9978     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9979     VARIANT ondragleave();
9980
9981     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9982     void ondrop(VARIANT v);
9983
9984     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9985     VARIANT ondrop();
9986
9987     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9988     void onbeforecut(VARIANT v);
9989
9990     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9991     VARIANT onbeforecut();
9992
9993     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9994     void oncut(VARIANT v);
9995
9996     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9997     VARIANT oncut();
9998
9999     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10000     void onbeforecopy(VARIANT v);
10001
10002     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10003     VARIANT onbeforecopy();
10004
10005     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10006     void oncopy(VARIANT v);
10007
10008     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10009     VARIANT oncopy();
10010
10011     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10012     void onbeforepaste(VARIANT v);
10013
10014     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10015     VARIANT onbeforepaste();
10016
10017     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10018     void onpaste(VARIANT v);
10019
10020     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10021     VARIANT onpaste();
10022
10023     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
10024     IHTMLCurrentStyle *currentStyle();
10025
10026     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10027     void onpropertychange(VARIANT v);
10028
10029     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10030     VARIANT onpropertychange();
10031
10032     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
10033     IHTMLRectCollection *getClientRects();
10034
10035     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
10036     IHTMLRect *getBoundingClientRect();
10037
10038     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
10039     void setExpression(
10040             [in] BSTR propname,
10041             [in] BSTR expression,
10042             [in, defaultvalue("")] BSTR language);
10043
10044     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
10045     VARIANT getExpression([in] BSTR propname);
10046
10047     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
10048     VARIANT_BOOL removeExpression([in] BSTR propname);
10049
10050     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10051     void tabIndex(short v);
10052
10053     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10054     short tabIndex();
10055
10056     [id(DISPID_IHTMLELEMENT2_FOCUS)]
10057     void focus();
10058
10059     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10060     void accessKey(BSTR v);
10061
10062     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10063     BSTR accessKey();
10064
10065     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10066     void onblur(VARIANT v);
10067
10068     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10069     VARIANT onblur();
10070
10071     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10072     void onfocus(VARIANT v);
10073
10074     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10075     VARIANT onfocus();
10076
10077     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10078     void onresize(VARIANT v);
10079
10080     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10081     VARIANT onresize();
10082
10083     [id(DISPID_IHTMLELEMENT2_BLUR)]
10084     void blur();
10085
10086     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
10087     void addFilter([in] IUnknown *pUnk);
10088
10089     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
10090     void removeFilter([in] IUnknown *pUnk);
10091
10092     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
10093     LONG clientHeight();
10094
10095     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
10096     LONG clientWidth();
10097
10098     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
10099     LONG clientTop();
10100
10101     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
10102     LONG clientLeft();
10103
10104     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
10105     VARIANT_BOOL attachEvent(
10106             [in] BSTR event,
10107             [in] IDispatch *pDisp);
10108
10109     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
10110     void detachEvent(
10111             [in] BSTR event,
10112             [in] IDispatch *pDisp);
10113
10114     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
10115     VARIANT readyState();
10116
10117     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10118     void onreadystatechange(VARIANT v);
10119
10120     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10121     VARIANT onreadystatechange();
10122
10123     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10124     void onrowsdelete(VARIANT v);
10125
10126     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10127     VARIANT onrowsdelete();
10128
10129     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10130     void onrowsinserted(VARIANT v);
10131
10132     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10133      VARIANT onrowsinserted();
10134
10135     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10136      void oncellchange(VARIANT v);
10137
10138     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10139     VARIANT oncellchange();
10140
10141     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10142     void dir(BSTR v);
10143
10144     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10145     BSTR dir();
10146
10147     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
10148     IDispatch *createControlRange();
10149
10150     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
10151     LONG scrollHeight();
10152
10153     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
10154     LONG scrollWidth();
10155
10156     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10157     void scrollTop(LONG v);
10158
10159     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10160     LONG scrollTop();
10161
10162     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10163     void scrollLeft(LONG v);
10164
10165     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10166     LONG scrollLeft();
10167
10168     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
10169     void clearAttributes();
10170
10171     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10172     void oncontextmenu(VARIANT v);
10173
10174     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10175     VARIANT oncontextmenu();
10176
10177     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
10178     IHTMLElement *insertAdjacentElement(
10179             [in] BSTR where,
10180             [in] IHTMLElement *insertedElement);
10181
10182     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
10183     IHTMLElement *applyElement(
10184             [in] IHTMLElement *apply,
10185             [in] BSTR where);
10186
10187     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
10188     BSTR getAdjacentText([in] BSTR where);
10189
10190     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
10191     BSTR replaceAdjacentText(
10192             [in] BSTR where,
10193             [in] BSTR newText);
10194
10195     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
10196     VARIANT_BOOL canHaveChildren();
10197
10198     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
10199     LONG addBehavior(
10200             [in] BSTR bstrUrl,
10201             [in, optional] VARIANT *pvarFactory);
10202
10203     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
10204     VARIANT_BOOL removeBehavior([in] LONG cookie);
10205
10206     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
10207     IHTMLStyle *runtimeStyle();
10208
10209     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
10210     IDispatch *behaviorUrns();
10211
10212     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
10213     void tagUrn(BSTR v);
10214
10215     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
10216     BSTR tagUrn();
10217
10218     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10219     void onbeforeeditfocus(VARIANT v);
10220
10221     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10222     VARIANT onbeforeeditfocus();
10223
10224     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
10225     LONG readyStateValue();
10226
10227     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
10228     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
10229
10230     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
10231     void mergeAttributes(
10232             [in] IHTMLElement *mergeThis,
10233             [in, optional] VARIANT *pvarFlags);
10234
10235     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
10236     VARIANT_BOOL isMultiLine();
10237
10238     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
10239     VARIANT_BOOL canHaveHTML();
10240
10241     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10242     void onlayoutcomplete(VARIANT v);
10243
10244     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10245     VARIANT onlayoutcomplete();
10246
10247     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10248     void onpage(VARIANT v);
10249
10250     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10251     VARIANT onpage();
10252
10253     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10254     void inflateBlock(VARIANT_BOOL v);
10255
10256     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10257     VARIANT_BOOL inflateBlock();
10258
10259     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10260     void onbeforedeactivate(VARIANT v);
10261
10262     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10263     VARIANT onbeforedeactivate();
10264
10265     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
10266     void setActive();
10267
10268     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10269     void contentEditable(BSTR v);
10270
10271     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10272     BSTR contentEditable();
10273
10274     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
10275     VARIANT_BOOL isContentEditable();
10276
10277     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10278     void hideFocus(VARIANT_BOOL v);
10279
10280     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10281     VARIANT_BOOL hideFocus();
10282
10283     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10284     void disabled(VARIANT_BOOL v);
10285
10286     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10287     VARIANT_BOOL disabled();
10288
10289     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
10290     VARIANT_BOOL isDisabled();
10291
10292     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10293     void onmove(VARIANT v);
10294
10295     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10296     VARIANT onmove();
10297
10298     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10299     void oncontrolselect(VARIANT v);
10300
10301     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10302     VARIANT oncontrolselect();
10303
10304     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
10305     VARIANT_BOOL fireEvent(
10306             [in] BSTR bstrEventName,
10307             [in, optional] VARIANT *pvarEventObject);
10308
10309     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10310     void onresizestart(VARIANT v);
10311
10312     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10313     VARIANT onresizestart();
10314
10315     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10316     void onresizeend(VARIANT v);
10317
10318     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10319     VARIANT onresizeend();
10320
10321     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10322     void onmovestart(VARIANT v);
10323
10324     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10325     VARIANT onmovestart();
10326
10327     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10328     void onmoveend(VARIANT v);
10329
10330     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10331     VARIANT onmoveend();
10332
10333     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10334     void onmouseenter(VARIANT v);
10335
10336     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10337     VARIANT onmouseenter();
10338
10339     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10340     void onmouseleave(VARIANT v);
10341
10342     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10343     VARIANT onmouseleave();
10344
10345     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10346     void onactivate(VARIANT v);
10347
10348     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10349     VARIANT onactivate();
10350
10351     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10352     void ondeactivate(VARIANT v);
10353
10354     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10355     VARIANT ondeactivate();
10356
10357     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
10358     VARIANT_BOOL dragDrop();
10359
10360     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
10361     LONG glyphMode();
10362
10363     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10364     void onmousewheel(VARIANT v);
10365
10366     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10367     VARIANT onmousewheel();
10368
10369     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
10370     void normalize();
10371
10372     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
10373     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
10374
10375     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
10376     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
10377
10378     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
10379     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
10380
10381     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10382     void onbeforeactivate(VARIANT v);
10383
10384     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10385     VARIANT onbeforeactivate();
10386
10387     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10388     void onfocusin(VARIANT v);
10389
10390     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10391     VARIANT onfocusin();
10392
10393     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10394     void onfocusout(VARIANT v);
10395
10396     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10397     VARIANT onfocusout();
10398
10399     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
10400     LONG uniqueNumber();
10401
10402     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
10403     BSTR uniqueID();
10404
10405     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
10406     LONG nodeType();
10407
10408     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
10409     IHTMLDOMNode *parentNode();
10410
10411     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
10412     VARIANT_BOOL hasChildNodes();
10413
10414     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
10415     IDispatch *childNodes();
10416
10417     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
10418     IDispatch *attributes();
10419
10420     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
10421     IHTMLDOMNode *insertBefore(
10422             [in] IHTMLDOMNode *newChild,
10423             [in, optional] VARIANT refChild);
10424
10425     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
10426     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
10427
10428     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
10429     IHTMLDOMNode *replaceChild(
10430             [in] IHTMLDOMNode *newChild,
10431             [in] IHTMLDOMNode *oldChild);
10432
10433     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
10434     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
10435
10436     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
10437     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
10438
10439     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
10440     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
10441
10442     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
10443     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
10444
10445     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
10446     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
10447
10448     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
10449     BSTR nodeName();
10450
10451     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10452     void nodeValue(VARIANT v);
10453
10454     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10455     VARIANT nodeValue();
10456
10457     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
10458     IHTMLDOMNode *firstChild();
10459
10460     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
10461     IHTMLDOMNode *lastChild();
10462
10463     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
10464     IHTMLDOMNode *previousSibling();
10465
10466     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
10467     IHTMLDOMNode *nextSibling();
10468
10469     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
10470     IDispatch *ownerDocument();
10471
10472     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10473     void dataFld(BSTR v);
10474
10475     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10476     BSTR dataFld();
10477
10478     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
10479     void dataSrc(BSTR v);
10480
10481     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
10482     BSTR dataSrc();
10483
10484     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10485     void dataFormatAs(BSTR v);
10486
10487     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10488     BSTR dataFormatAs();
10489
10490     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
10491     void selected(VARIANT_BOOL v);
10492
10493     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
10494     VARIANT_BOOL selected();
10495
10496     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
10497     void value(BSTR v);
10498
10499     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
10500     BSTR value();
10501
10502     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
10503     void defaultSelected(VARIANT_BOOL v);
10504
10505     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
10506     VARIANT_BOOL defaultSelected();
10507
10508     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10509     void index(LONG v);
10510
10511     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10512     LONG index();
10513
10514     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10515     void text(BSTR v);
10516
10517     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10518     BSTR text();
10519
10520     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
10521     IHTMLFormElement *form();
10522
10523     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10524     void label(BSTR v);
10525
10526     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10527     BSTR label();
10528 }
10529
10530 /*****************************************************************************
10531  *    IHTMLInputElement interface
10532  */
10533 [
10534     odl,
10535     oleautomation,
10536     dual,
10537     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
10538 ]
10539 interface IHTMLInputElement : IDispatch
10540 {
10541     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10542     HRESULT type([in] BSTR v);
10543
10544     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10545     HRESULT type([retval, out] BSTR *p);
10546
10547     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10548     HRESULT value([in] BSTR v);
10549
10550     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10551     HRESULT value([retval, out] BSTR *p);
10552
10553     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10554     HRESULT name([in] BSTR v);
10555
10556     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10557     HRESULT name([retval, out] BSTR *p);
10558
10559     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10560     HRESULT status([in] VARIANT_BOOL v);
10561
10562     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10563     HRESULT status([retval, out] VARIANT_BOOL *p);
10564
10565     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10566     HRESULT disabled([in] VARIANT_BOOL v);
10567
10568     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10569     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10570
10571     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
10572     HRESULT form([retval, out] IHTMLFormElement **p);
10573
10574     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10575     HRESULT size([in] LONG v);
10576
10577     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10578     HRESULT size([retval, out] LONG *p);
10579
10580     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10581     HRESULT maxLength([in] LONG v);
10582
10583     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10584     HRESULT maxLength([retval, out] LONG *p);
10585
10586     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
10587     HRESULT select();
10588
10589     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10590     HRESULT onchange([in] VARIANT v);
10591
10592     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10593     HRESULT onchange([retval, out] VARIANT *p);
10594
10595     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10596     HRESULT onselect([in] VARIANT v);
10597
10598     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10599     HRESULT onselect([retval, out] VARIANT *p);
10600
10601     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10602     HRESULT defaultValue([in] BSTR v);
10603
10604     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10605     HRESULT defaultValue([retval, out] BSTR *p);
10606
10607     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10608     HRESULT readOnly([in] VARIANT_BOOL v);
10609
10610     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10611     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10612
10613     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
10614     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10615
10616     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10617     HRESULT indeterminate([in] VARIANT_BOOL v);
10618
10619     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10620     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
10621
10622     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10623     HRESULT defaultChecked([in] VARIANT_BOOL v);
10624
10625     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10626     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
10627
10628     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10629     HRESULT checked([in] VARIANT_BOOL v);
10630
10631     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10632     HRESULT checked([retval, out] VARIANT_BOOL *p);
10633
10634     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10635     HRESULT border([in] VARIANT v);
10636
10637     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10638     HRESULT border([retval, out] VARIANT *p);
10639
10640     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10641     HRESULT vspace([in] LONG v);
10642
10643     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10644     HRESULT vspace([retval, out] LONG *p);
10645
10646     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10647     HRESULT hspace([in] LONG v);
10648
10649     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10650     HRESULT hspace([retval, out] LONG *p);
10651
10652     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10653     HRESULT alt([in] BSTR v);
10654
10655     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10656     HRESULT alt([retval, out] BSTR *p);
10657
10658     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10659     HRESULT src([in] BSTR v);
10660
10661     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10662     HRESULT src([retval, out] BSTR *p);
10663
10664     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10665     HRESULT lowsrc([in] BSTR v);
10666
10667     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10668     HRESULT lowsrc([retval, out] BSTR *p);
10669
10670     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10671     HRESULT vrml([in] BSTR v);
10672
10673     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10674     HRESULT vrml([retval, out] BSTR *p);
10675
10676     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10677     HRESULT dynsrc([in] BSTR v);
10678
10679     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10680     HRESULT dynsrc([retval, out] BSTR *p);
10681
10682     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
10683     HRESULT readyState([retval, out] BSTR *p);
10684
10685     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
10686     HRESULT complete([retval, out] VARIANT_BOOL *p);
10687
10688     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10689     HRESULT loop([in] VARIANT v);
10690
10691     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10692     HRESULT loop([retval, out] VARIANT *p);
10693
10694     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10695     HRESULT align([in] BSTR v);
10696
10697     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10698     HRESULT align([retval, out] BSTR *p);
10699
10700     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10701     HRESULT onload([in] VARIANT v);
10702
10703     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10704     HRESULT onload([retval, out] VARIANT *p);
10705
10706     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10707     HRESULT onerror([in] VARIANT v);
10708
10709     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10710     HRESULT onerror([retval, out] VARIANT *p);
10711
10712     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10713     HRESULT onabort([in] VARIANT v);
10714
10715     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10716     HRESULT onabort([retval, out] VARIANT *p);
10717
10718     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10719     HRESULT width([in] LONG v);
10720
10721     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10722     HRESULT width([retval, out] LONG *p);
10723
10724     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10725     HRESULT height([in] LONG v);
10726
10727     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10728     HRESULT height([retval, out] LONG *p);
10729
10730     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10731     HRESULT start([in] BSTR v);
10732
10733     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10734     HRESULT start([retval, out] BSTR *p);
10735 }
10736
10737 /*****************************************************************************
10738  *    IHTMLInputTextElement interface
10739  */
10740 [
10741     odl,
10742     oleautomation,
10743     dual,
10744     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
10745 ]
10746 interface IHTMLInputTextElement : IDispatch
10747 {
10748     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
10749     HRESULT type([retval, out] BSTR *p);
10750
10751     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10752     HRESULT value([in] BSTR v);
10753
10754     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10755     HRESULT value([retval, out] BSTR *p);
10756
10757     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10758     HRESULT name([in] BSTR v);
10759
10760     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10761     HRESULT name([retval, out] BSTR *p);
10762
10763     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10764     HRESULT status([in] VARIANT v);
10765
10766     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10767     HRESULT status([retval, out] VARIANT *p);
10768
10769     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10770     HRESULT disabled([in] VARIANT_BOOL v);
10771
10772     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10773     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10774
10775     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
10776     HRESULT form([retval, out] IHTMLFormElement **p);
10777
10778     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10779     HRESULT defaultValue([in] BSTR v);
10780
10781     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10782     HRESULT defaultValue([retval, out] BSTR *p);
10783
10784     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10785     HRESULT size([in] LONG v);
10786
10787     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10788     HRESULT size([retval, out] LONG *p);
10789
10790     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10791     HRESULT maxLength([in] LONG v);
10792
10793     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10794     HRESULT maxLength([retval, out] LONG *p);
10795
10796     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
10797     HRESULT select();
10798
10799     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10800     HRESULT onchange([in] VARIANT v);
10801
10802     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10803     HRESULT onchange([retval, out] VARIANT *p);
10804
10805     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10806     HRESULT onselect([in] VARIANT v);
10807
10808     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10809     HRESULT onselect([retval, out] VARIANT *p);
10810
10811     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10812     HRESULT readOnly([in] VARIANT_BOOL v);
10813
10814     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10815     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10816
10817     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
10818     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10819 }
10820
10821 [
10822     hidden,
10823     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
10824 ]
10825 dispinterface DispHTMLInputElement
10826 {
10827 properties:
10828 methods:
10829     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
10830     void setAttribute(
10831             [in] BSTR strAttributeName,
10832             [in] VARIANT AttributeValue,
10833             [in, defaultvalue(1)] LONG lFlags);
10834
10835     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
10836     VARIANT getAttribute(
10837              [in] BSTR strAttributeName,
10838              [in, defaultvalue(0)] LONG lFlags);
10839
10840     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
10841     VARIANT_BOOL removeAttribute(
10842             [in] BSTR strAttributeName,
10843             [in, defaultvalue(1)] LONG lFlags);
10844
10845     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10846     void className(BSTR v);
10847
10848     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10849     BSTR className();
10850
10851     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
10852     void id(BSTR v);
10853
10854     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
10855     BSTR id();
10856
10857     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
10858     BSTR tagName();
10859
10860     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
10861     IHTMLElement *parentElement();
10862
10863     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
10864     IHTMLStyle *style();
10865
10866     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10867     void onhelp(VARIANT v);
10868
10869     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10870     VARIANT onhelp();
10871
10872     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10873     void onclick(VARIANT v);
10874
10875     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10876     VARIANT onclick();
10877
10878     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10879     void ondblclick(VARIANT v);
10880
10881     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10882     VARIANT ondblclick();
10883
10884     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10885     void onkeydown(VARIANT v);
10886
10887     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10888     VARIANT onkeydown();
10889
10890     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10891     void onkeyup(VARIANT v);
10892
10893     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10894     VARIANT onkeyup();
10895
10896     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10897     void onkeypress(VARIANT v);
10898
10899     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10900     VARIANT onkeypress();
10901
10902     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10903     void onmouseout(VARIANT v);
10904
10905     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10906     VARIANT onmouseout();
10907
10908     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10909     void onmouseover(VARIANT v);
10910
10911     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10912     VARIANT onmouseover();
10913
10914     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10915     void onmousemove(VARIANT v);
10916
10917     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10918     VARIANT onmousemove();
10919
10920     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10921     void onmousedown(VARIANT v);
10922
10923     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10924     VARIANT onmousedown();
10925
10926     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10927     void onmouseup(VARIANT v);
10928
10929     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10930     VARIANT onmouseup();
10931
10932     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
10933     IDispatch *document();
10934
10935     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10936     void title(BSTR v);
10937
10938     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10939     BSTR title();
10940
10941     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10942     void language(BSTR v);
10943
10944     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10945     BSTR language();
10946
10947     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10948     void onselectstart(VARIANT v);
10949
10950     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10951     VARIANT onselectstart();
10952
10953     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
10954     void scrollIntoView([in, optional] VARIANT varargStart);
10955
10956     [id(DISPID_IHTMLELEMENT_CONTAINS)]
10957     VARIANT_BOOL contains([in] IHTMLElement *pChild);
10958
10959     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
10960     LONG sourceIndex();
10961
10962     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
10963     VARIANT recordNumber();
10964
10965     [propput, id(DISPID_IHTMLELEMENT_LANG)]
10966     void lang(BSTR v);
10967
10968     [propget, id(DISPID_IHTMLELEMENT_LANG)]
10969     BSTR lang();
10970
10971     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
10972     LONG offsetLeft();
10973
10974     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
10975     LONG offsetTop();
10976
10977     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
10978     LONG offsetWidth();
10979
10980     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
10981     LONG offsetHeight();
10982
10983     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
10984     IHTMLElement *offsetParent();
10985
10986     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
10987     void innerHTML(BSTR v);
10988
10989     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
10990     BSTR innerHTML();
10991
10992     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10993     void innerText(BSTR v);
10994
10995     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10996     BSTR innerText();
10997
10998     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10999     void outerHTML(BSTR v);
11000
11001     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11002     BSTR outerHTML();
11003
11004     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11005     void outerText(BSTR v);
11006
11007     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11008     BSTR outerText();
11009
11010     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
11011     void insertAdjacentHTML(
11012             [in] BSTR where,
11013             [in] BSTR html);
11014
11015     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
11016     void insertAdjacentText(
11017             [in] BSTR where,
11018             [in] BSTR text);
11019
11020     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
11021     IHTMLElement *parentTextEdit();
11022
11023     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
11024     VARIANT_BOOL isTextEdit();
11025
11026     [id(DISPID_IHTMLELEMENT_CLICK)]
11027     void click();
11028
11029     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
11030     IHTMLFiltersCollection *filters();
11031
11032     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11033     void ondragstart(VARIANT v);
11034
11035     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11036     VARIANT ondragstart();
11037
11038     [id(DISPID_IHTMLELEMENT_TOSTRING)]
11039     BSTR toString();
11040
11041     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11042     void onbeforeupdate(VARIANT v);
11043
11044     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11045     VARIANT onbeforeupdate();
11046
11047     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11048     void onafterupdate(VARIANT v);
11049
11050     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11051     VARIANT onafterupdate();
11052
11053     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11054     void onerrorupdate(VARIANT v);
11055
11056     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11057     VARIANT onerrorupdate();
11058
11059     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11060     void onrowexit(VARIANT v);
11061
11062     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11063     VARIANT onrowexit();
11064
11065     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11066     void onrowenter(VARIANT v);
11067
11068     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11069     VARIANT onrowenter();
11070
11071     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11072     void ondatasetchanged(VARIANT v);
11073
11074     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11075     VARIANT ondatasetchanged();
11076
11077     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11078     void ondataavailable(VARIANT v);
11079
11080     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11081     VARIANT ondataavailable();
11082
11083     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11084     void ondatasetcomplete(VARIANT v);
11085
11086     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11087     VARIANT ondatasetcomplete();
11088
11089     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11090     void onfilterchange(VARIANT v);
11091
11092     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11093     VARIANT onfilterchange();
11094
11095     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
11096     IDispatch *children();
11097
11098     [propget, id(DISPID_IHTMLELEMENT_ALL)]
11099     IDispatch *all();
11100
11101     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
11102     BSTR scopeName();
11103
11104     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
11105     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
11106
11107     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
11108     void releaseCapture();
11109
11110     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11111     void onlosecapture(VARIANT v);
11112
11113     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11114     VARIANT onlosecapture();
11115
11116     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
11117     BSTR componentFromPoint(
11118             [in] LONG x,
11119             [in] LONG y);
11120
11121     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
11122     void doScroll([in, optional] VARIANT component);
11123
11124     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11125     void onscroll(VARIANT v);
11126
11127     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11128     VARIANT onscroll();
11129
11130     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11131     void ondrag(VARIANT v);
11132
11133     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11134     VARIANT ondrag();
11135
11136     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11137     void ondragend(VARIANT v);
11138
11139     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11140     VARIANT ondragend();
11141
11142     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11143     void ondragenter(VARIANT v);
11144
11145     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11146     VARIANT ondragenter();
11147
11148     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11149     void ondragover(VARIANT v);
11150
11151     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11152     VARIANT ondragover();
11153
11154     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11155     void ondragleave(VARIANT v);
11156
11157     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11158     VARIANT ondragleave();
11159
11160     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11161     void ondrop(VARIANT v);
11162
11163     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11164     VARIANT ondrop();
11165
11166     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11167     void onbeforecut(VARIANT v);
11168
11169     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11170     VARIANT onbeforecut();
11171
11172     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11173     void oncut(VARIANT v);
11174
11175     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11176     VARIANT oncut();
11177
11178     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11179     void onbeforecopy(VARIANT v);
11180
11181     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11182     VARIANT onbeforecopy();
11183
11184     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11185     void oncopy(VARIANT v);
11186
11187     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11188     VARIANT oncopy();
11189
11190     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11191     void onbeforepaste(VARIANT v);
11192
11193     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11194     VARIANT onbeforepaste();
11195
11196     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11197     void onpaste(VARIANT v);
11198
11199     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11200     VARIANT onpaste();
11201
11202     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
11203     IHTMLCurrentStyle *currentStyle();
11204
11205     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11206     void onpropertychange(VARIANT v);
11207
11208     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11209     VARIANT onpropertychange();
11210
11211     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
11212     IHTMLRectCollection *getClientRects();
11213
11214     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
11215     IHTMLRect *getBoundingClientRect();
11216
11217     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
11218     void setExpression(
11219             [in] BSTR propname,
11220             [in] BSTR expression,
11221             [in, defaultvalue("")] BSTR language);
11222
11223     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
11224     VARIANT getExpression([in] BSTR propname);
11225
11226     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
11227     VARIANT_BOOL removeExpression([in] BSTR propname);
11228
11229     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11230     void tabIndex(short v);
11231
11232     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11233     short tabIndex();
11234
11235     [id(DISPID_IHTMLELEMENT2_FOCUS)]
11236     void focus();
11237
11238     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11239     void accessKey(BSTR v);
11240
11241     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11242     BSTR accessKey();
11243
11244     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11245     void onblur(VARIANT v);
11246
11247     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11248     VARIANT onblur();
11249
11250     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11251     void onfocus(VARIANT v);
11252
11253     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11254     VARIANT onfocus();
11255
11256     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11257     void onresize(VARIANT v);
11258
11259     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11260     VARIANT onresize();
11261
11262     [id(DISPID_IHTMLELEMENT2_BLUR)]
11263     void blur();
11264
11265     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
11266     void addFilter([in] IUnknown *pUnk);
11267
11268     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
11269     void removeFilter([in] IUnknown *pUnk);
11270
11271     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
11272     LONG clientHeight();
11273
11274     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
11275     LONG clientWidth();
11276
11277     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
11278     LONG clientTop();
11279
11280     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
11281     LONG clientLeft();
11282
11283     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
11284     VARIANT_BOOL attachEvent(
11285             [in] BSTR event,
11286             [in] IDispatch *pDisp);
11287
11288     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
11289     void detachEvent(
11290             [in] BSTR event,
11291             [in] IDispatch *pDisp);
11292
11293     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
11294     VARIANT readyState();
11295
11296     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11297     void onreadystatechange(VARIANT v);
11298
11299     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11300     VARIANT onreadystatechange();
11301
11302     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11303     void onrowsdelete(VARIANT v);
11304
11305     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11306     VARIANT onrowsdelete();
11307
11308     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11309     void onrowsinserted(VARIANT v);
11310
11311     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11312      VARIANT onrowsinserted();
11313
11314     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11315      void oncellchange(VARIANT v);
11316
11317     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11318     VARIANT oncellchange();
11319
11320     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11321     void dir(BSTR v);
11322
11323     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11324     BSTR dir();
11325
11326     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
11327     IDispatch *createControlRange();
11328
11329     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
11330     LONG scrollHeight();
11331
11332     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
11333     LONG scrollWidth();
11334
11335     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11336     void scrollTop(LONG v);
11337
11338     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11339     LONG scrollTop();
11340
11341     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11342     void scrollLeft(LONG v);
11343
11344     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11345     LONG scrollLeft();
11346
11347     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
11348     void clearAttributes();
11349
11350     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11351     void oncontextmenu(VARIANT v);
11352
11353     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11354     VARIANT oncontextmenu();
11355
11356     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
11357     IHTMLElement *insertAdjacentElement(
11358             [in] BSTR where,
11359             [in] IHTMLElement *insertedElement);
11360
11361     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
11362     IHTMLElement *applyElement(
11363             [in] IHTMLElement *apply,
11364             [in] BSTR where);
11365
11366     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
11367     BSTR getAdjacentText([in] BSTR where);
11368
11369     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
11370     BSTR replaceAdjacentText(
11371             [in] BSTR where,
11372             [in] BSTR newText);
11373
11374     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
11375     VARIANT_BOOL canHaveChildren();
11376
11377     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
11378     LONG addBehavior(
11379             [in] BSTR bstrUrl,
11380             [in, optional] VARIANT *pvarFactory);
11381
11382     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
11383     VARIANT_BOOL removeBehavior([in] LONG cookie);
11384
11385     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
11386     IHTMLStyle *runtimeStyle();
11387
11388     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
11389     IDispatch *behaviorUrns();
11390
11391     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
11392     void tagUrn(BSTR v);
11393
11394     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
11395     BSTR tagUrn();
11396
11397     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11398     void onbeforeeditfocus(VARIANT v);
11399
11400     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11401     VARIANT onbeforeeditfocus();
11402
11403     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
11404     LONG readyStateValue();
11405
11406     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
11407     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
11408
11409     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
11410     void mergeAttributes(
11411             [in] IHTMLElement *mergeThis,
11412             [in, optional] VARIANT *pvarFlags);
11413
11414     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
11415     VARIANT_BOOL isMultiLine();
11416
11417     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
11418     VARIANT_BOOL canHaveHTML();
11419
11420     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11421     void onlayoutcomplete(VARIANT v);
11422
11423     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11424     VARIANT onlayoutcomplete();
11425
11426     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11427     void onpage(VARIANT v);
11428
11429     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11430     VARIANT onpage();
11431
11432     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11433     void inflateBlock(VARIANT_BOOL v);
11434
11435     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11436     VARIANT_BOOL inflateBlock();
11437
11438     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11439     void onbeforedeactivate(VARIANT v);
11440
11441     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11442     VARIANT onbeforedeactivate();
11443
11444     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
11445     void setActive();
11446
11447     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11448     void contentEditable(BSTR v);
11449
11450     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11451     BSTR contentEditable();
11452
11453     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
11454     VARIANT_BOOL isContentEditable();
11455
11456     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11457     void hideFocus(VARIANT_BOOL v);
11458
11459     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11460     VARIANT_BOOL hideFocus();
11461
11462     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11463     void disabled(VARIANT_BOOL v);
11464
11465     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11466     VARIANT_BOOL disabled();
11467
11468     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
11469     VARIANT_BOOL isDisabled();
11470
11471     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11472     void onmove(VARIANT v);
11473
11474     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11475     VARIANT onmove();
11476
11477     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11478     void oncontrolselect(VARIANT v);
11479
11480     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11481     VARIANT oncontrolselect();
11482
11483     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
11484     VARIANT_BOOL fireEvent(
11485             [in] BSTR bstrEventName,
11486             [in, optional] VARIANT *pvarEventObject);
11487
11488     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11489     void onresizestart(VARIANT v);
11490
11491     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11492     VARIANT onresizestart();
11493
11494     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11495     void onresizeend(VARIANT v);
11496
11497     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11498     VARIANT onresizeend();
11499
11500     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11501     void onmovestart(VARIANT v);
11502
11503     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11504     VARIANT onmovestart();
11505
11506     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11507     void onmoveend(VARIANT v);
11508
11509     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11510     VARIANT onmoveend();
11511
11512     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11513     void onmouseenter(VARIANT v);
11514
11515     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11516     VARIANT onmouseenter();
11517
11518     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11519     void onmouseleave(VARIANT v);
11520
11521     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11522     VARIANT onmouseleave();
11523
11524     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11525     void onactivate(VARIANT v);
11526
11527     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11528     VARIANT onactivate();
11529
11530     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11531     void ondeactivate(VARIANT v);
11532
11533     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11534     VARIANT ondeactivate();
11535
11536     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
11537     VARIANT_BOOL dragDrop();
11538
11539     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
11540     LONG glyphMode();
11541
11542     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11543     void onmousewheel(VARIANT v);
11544
11545     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11546     VARIANT onmousewheel();
11547
11548     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
11549     void normalize();
11550
11551     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
11552     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
11553
11554     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
11555     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
11556
11557     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
11558     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
11559
11560     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11561     void onbeforeactivate(VARIANT v);
11562
11563     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11564     VARIANT onbeforeactivate();
11565
11566     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11567     void onfocusin(VARIANT v);
11568
11569     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11570     VARIANT onfocusin();
11571
11572     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11573     void onfocusout(VARIANT v);
11574
11575     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11576     VARIANT onfocusout();
11577
11578     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
11579     LONG uniqueNumber();
11580
11581     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
11582     BSTR uniqueID();
11583
11584     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
11585     LONG nodeType();
11586
11587     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
11588     IHTMLDOMNode *parentNode();
11589
11590     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
11591     VARIANT_BOOL hasChildNodes();
11592
11593     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
11594     IDispatch *childNodes();
11595
11596     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
11597     IDispatch *attributes();
11598
11599     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
11600     IHTMLDOMNode *insertBefore(
11601             [in] IHTMLDOMNode *newChild,
11602             [in, optional] VARIANT refChild);
11603
11604     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
11605     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
11606
11607     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
11608     IHTMLDOMNode *replaceChild(
11609             [in] IHTMLDOMNode *newChild,
11610             [in] IHTMLDOMNode *oldChild);
11611
11612     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
11613     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
11614
11615     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
11616     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
11617
11618     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
11619     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
11620
11621     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
11622     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
11623
11624     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
11625     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
11626
11627     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
11628     BSTR nodeName();
11629
11630     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11631     void nodeValue(VARIANT v);
11632
11633     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11634     VARIANT nodeValue();
11635
11636     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
11637     IHTMLDOMNode *firstChild();
11638
11639     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
11640     IHTMLDOMNode *lastChild();
11641
11642     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
11643     IHTMLDOMNode *previousSibling();
11644
11645     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
11646     IHTMLDOMNode *nextSibling();
11647
11648     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
11649     IDispatch *ownerDocument();
11650
11651     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11652     void dataFld(BSTR v);
11653
11654     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11655     BSTR dataFld();
11656
11657     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
11658     void dataSrc(BSTR v);
11659
11660     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
11661     BSTR dataSrc();
11662
11663     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11664     void dataFormatAs(BSTR v);
11665
11666     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11667     BSTR dataFormatAs();
11668
11669     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11670     void type(BSTR v);
11671
11672     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11673     BSTR type();
11674
11675     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11676     void value(BSTR v);
11677
11678     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11679     BSTR value();
11680
11681     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11682     void name(BSTR v);
11683
11684     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11685     BSTR name();
11686
11687     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11688     void status(VARIANT_BOOL v);
11689
11690     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11691     VARIANT_BOOL status();
11692
11693     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
11694     IHTMLFormElement *form();
11695
11696     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11697     void size(LONG v);
11698
11699     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11700     LONG size();
11701
11702     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11703     void maxLength(LONG v);
11704
11705     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11706     LONG maxLength();
11707
11708     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
11709     void select();
11710
11711     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11712     void onchange(VARIANT v);
11713
11714     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11715     VARIANT onchange();
11716
11717     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11718     void onselect(VARIANT v);
11719
11720     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11721     VARIANT onselect();
11722
11723     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11724     void defaultValue(BSTR v);
11725
11726     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11727     BSTR defaultValue();
11728
11729     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11730     void readOnly(VARIANT_BOOL v);
11731
11732     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11733     VARIANT_BOOL readOnly();
11734
11735     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
11736     IHTMLTxtRange *createTextRange();
11737
11738     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11739     void indeterminate(VARIANT_BOOL v);
11740
11741     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11742     VARIANT_BOOL indeterminate();
11743
11744     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11745     void defaultChecked(VARIANT_BOOL v);
11746
11747     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11748     VARIANT_BOOL defaultChecked();
11749
11750     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11751     void checked(VARIANT_BOOL v);
11752
11753     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11754     VARIANT_BOOL checked();
11755
11756     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11757     void border(VARIANT v);
11758
11759     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11760     VARIANT border();
11761
11762     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11763     void vspace(LONG v);
11764
11765     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11766     LONG vspace();
11767
11768     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11769     void hspace(LONG v);
11770
11771     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11772     LONG hspace();
11773
11774     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11775     void alt(BSTR v);
11776
11777     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11778     BSTR alt();
11779
11780     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11781     void src(BSTR v);
11782
11783     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11784     BSTR src();
11785
11786     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11787     void lowsrc(BSTR v);
11788
11789     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11790     BSTR lowsrc();
11791
11792     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11793     void vrml(BSTR v);
11794
11795     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11796     BSTR vrml();
11797
11798     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11799     void dynsrc(BSTR v);
11800
11801     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11802     BSTR dynsrc();
11803
11804     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
11805     VARIANT_BOOL complete();
11806
11807     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11808     void loop(VARIANT v);
11809
11810     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11811     VARIANT loop();
11812
11813     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11814     void align(BSTR v);
11815
11816     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11817     BSTR align();
11818
11819     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11820     void onload(VARIANT v);
11821
11822     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11823     VARIANT onload();
11824
11825     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11826     void onerror(VARIANT v);
11827
11828     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11829     VARIANT onerror();
11830
11831     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11832     void onabort(VARIANT v);
11833
11834     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11835     VARIANT onabort();
11836
11837     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11838     void width(LONG v);
11839
11840     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11841     LONG width();
11842
11843     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11844     void height(LONG v);
11845
11846     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11847     LONG height();
11848
11849     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11850     void start(BSTR v);
11851
11852     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11853     BSTR start();
11854
11855     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11856     void accept(BSTR v);
11857
11858     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11859     BSTR accept();
11860
11861     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11862     void useMap(BSTR v);
11863
11864     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11865     BSTR useMap();
11866 }
11867
11868 /*****************************************************************************
11869  *    IHTMLTextAreaElement interface
11870  */
11871 [
11872     odl,
11873     oleautomation,
11874     dual,
11875     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
11876 ]
11877 interface IHTMLTextAreaElement : IDispatch
11878 {
11879     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
11880     HRESULT type([retval, out] BSTR *p);
11881
11882     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11883     HRESULT value([in] BSTR v);
11884
11885     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11886     HRESULT value([retval, out] BSTR *p);
11887
11888     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11889     HRESULT name([in] BSTR v);
11890
11891     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11892     HRESULT name([retval, out] BSTR *p);
11893
11894     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11895     HRESULT status([in] VARIANT v);
11896
11897     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11898     HRESULT status([retval, out] VARIANT *p);
11899
11900     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11901     HRESULT disabled([in] VARIANT_BOOL v);
11902
11903     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11904     HRESULT disabled([retval, out] VARIANT_BOOL *p);
11905
11906     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
11907     HRESULT form([retval, out] IHTMLFormElement **p);
11908
11909     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11910     HRESULT defaultValue([in] BSTR v);
11911
11912     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11913     HRESULT defaultValue([retval, out] BSTR *p);
11914
11915     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
11916     HRESULT select();
11917
11918     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11919     HRESULT onchange([in] VARIANT v);
11920
11921     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11922     HRESULT onchange([retval, out] VARIANT *p);
11923
11924     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11925     HRESULT onselect([in] VARIANT v);
11926
11927     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11928     HRESULT onselect([retval, out] VARIANT *p);
11929
11930     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11931     HRESULT readOnly([in] VARIANT_BOOL v);
11932
11933     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11934     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
11935
11936     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11937     HRESULT rows([in] LONG v);
11938
11939     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11940     HRESULT rows([retval, out] LONG *p);
11941
11942     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11943     HRESULT cols([in] LONG v);
11944
11945     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11946     HRESULT cols([retval, out] LONG *p);
11947
11948     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11949     HRESULT wrap([in] BSTR v);
11950
11951     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11952     HRESULT wrap([retval, out] BSTR *p);
11953
11954     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
11955     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
11956 }
11957
11958 /*****************************************************************************
11959  *    DispHTMLUnknownElement interface
11960  */
11961 [
11962     hidden,
11963     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
11964 ]
11965 dispinterface DispHTMLUnknownElement
11966 {
11967 properties:
11968 methods:
11969     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
11970     void setAttribute(
11971             [in] BSTR strAttributeName,
11972             [in] VARIANT AttributeValue,
11973             [in, defaultvalue(1)] LONG lFlags);
11974
11975     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
11976     VARIANT getAttribute(
11977              [in] BSTR strAttributeName,
11978              [in, defaultvalue(0)] LONG lFlags);
11979
11980     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
11981     VARIANT_BOOL removeAttribute(
11982             [in] BSTR strAttributeName,
11983             [in, defaultvalue(1)] LONG lFlags);
11984
11985     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11986     void className(BSTR v);
11987
11988     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11989     BSTR className();
11990
11991     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
11992     void id(BSTR v);
11993
11994     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
11995     BSTR id();
11996
11997     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
11998     BSTR tagName();
11999
12000     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
12001     IHTMLElement *parentElement();
12002
12003     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
12004     IHTMLStyle *style();
12005
12006     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
12007     void onhelp(VARIANT v);
12008
12009     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
12010     VARIANT onhelp();
12011
12012     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
12013     void onclick(VARIANT v);
12014
12015     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
12016     VARIANT onclick();
12017
12018     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
12019     void ondblclick(VARIANT v);
12020
12021     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
12022     VARIANT ondblclick();
12023
12024     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
12025     void onkeydown(VARIANT v);
12026
12027     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
12028     VARIANT onkeydown();
12029
12030     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
12031     void onkeyup(VARIANT v);
12032
12033     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
12034     VARIANT onkeyup();
12035
12036     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
12037     void onkeypress(VARIANT v);
12038
12039     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
12040     VARIANT onkeypress();
12041
12042     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
12043     void onmouseout(VARIANT v);
12044
12045     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
12046     VARIANT onmouseout();
12047
12048     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
12049     void onmouseover(VARIANT v);
12050
12051     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
12052     VARIANT onmouseover();
12053
12054     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
12055     void onmousemove(VARIANT v);
12056
12057     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
12058     VARIANT onmousemove();
12059
12060     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
12061     void onmousedown(VARIANT v);
12062
12063     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
12064     VARIANT onmousedown();
12065
12066     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
12067     void onmouseup(VARIANT v);
12068
12069     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
12070     VARIANT onmouseup();
12071
12072     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
12073     IDispatch *document();
12074
12075     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
12076     void title(BSTR v);
12077
12078     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
12079     BSTR title();
12080
12081     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
12082     void language(BSTR v);
12083
12084     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
12085     BSTR language();
12086
12087     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
12088     void onselectstart(VARIANT v);
12089
12090     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
12091     VARIANT onselectstart();
12092
12093     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
12094     void scrollIntoView([in, optional] VARIANT varargStart);
12095
12096     [id(DISPID_IHTMLELEMENT_CONTAINS)]
12097     VARIANT_BOOL contains([in] IHTMLElement *pChild);
12098
12099     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
12100     LONG sourceIndex();
12101
12102     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
12103     VARIANT recordNumber();
12104
12105     [propput, id(DISPID_IHTMLELEMENT_LANG)]
12106     void lang(BSTR v);
12107
12108     [propget, id(DISPID_IHTMLELEMENT_LANG)]
12109     BSTR lang();
12110
12111     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
12112     LONG offsetLeft();
12113
12114     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
12115     LONG offsetTop();
12116
12117     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
12118     LONG offsetWidth();
12119
12120     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
12121     LONG offsetHeight();
12122
12123     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
12124     IHTMLElement *offsetParent();
12125
12126     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
12127     void innerHTML(BSTR v);
12128
12129     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
12130     BSTR innerHTML();
12131
12132     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
12133     void innerText(BSTR v);
12134
12135     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
12136     BSTR innerText();
12137
12138     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
12139     void outerHTML(BSTR v);
12140
12141     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
12142     BSTR outerHTML();
12143
12144     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
12145     void outerText(BSTR v);
12146
12147     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
12148     BSTR outerText();
12149
12150     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
12151     void insertAdjacentHTML(
12152             [in] BSTR where,
12153             [in] BSTR html);
12154
12155     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
12156     void insertAdjacentText(
12157             [in] BSTR where,
12158             [in] BSTR text);
12159
12160     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
12161     IHTMLElement *parentTextEdit();
12162
12163     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
12164     VARIANT_BOOL isTextEdit();
12165
12166     [id(DISPID_IHTMLELEMENT_CLICK)]
12167     void click();
12168
12169     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
12170     IHTMLFiltersCollection *filters();
12171
12172     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
12173     void ondragstart(VARIANT v);
12174
12175     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
12176     VARIANT ondragstart();
12177
12178     [id(DISPID_IHTMLELEMENT_TOSTRING)]
12179     BSTR toString();
12180
12181     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
12182     void onbeforeupdate(VARIANT v);
12183
12184     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
12185     VARIANT onbeforeupdate();
12186
12187     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
12188     void onafterupdate(VARIANT v);
12189
12190     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
12191     VARIANT onafterupdate();
12192
12193     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
12194     void onerrorupdate(VARIANT v);
12195
12196     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
12197     VARIANT onerrorupdate();
12198
12199     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
12200     void onrowexit(VARIANT v);
12201
12202     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
12203     VARIANT onrowexit();
12204
12205     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
12206     void onrowenter(VARIANT v);
12207
12208     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
12209     VARIANT onrowenter();
12210
12211     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
12212     void ondatasetchanged(VARIANT v);
12213
12214     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
12215     VARIANT ondatasetchanged();
12216
12217     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
12218     void ondataavailable(VARIANT v);
12219
12220     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
12221     VARIANT ondataavailable();
12222
12223     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
12224     void ondatasetcomplete(VARIANT v);
12225
12226     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
12227     VARIANT ondatasetcomplete();
12228
12229     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12230     void onfilterchange(VARIANT v);
12231
12232     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12233     VARIANT onfilterchange();
12234
12235     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
12236     IDispatch *children();
12237
12238     [propget, id(DISPID_IHTMLELEMENT_ALL)]
12239     IDispatch *all();
12240
12241     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
12242     BSTR scopeName();
12243
12244     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
12245     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
12246
12247     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
12248     void releaseCapture();
12249
12250     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12251     void onlosecapture(VARIANT v);
12252
12253     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12254     VARIANT onlosecapture();
12255
12256     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
12257     BSTR componentFromPoint(
12258             [in] LONG x,
12259             [in] LONG y);
12260
12261     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
12262     void doScroll([in, optional] VARIANT component);
12263
12264     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12265     void onscroll(VARIANT v);
12266
12267     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12268     VARIANT onscroll();
12269
12270     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12271     void ondrag(VARIANT v);
12272
12273     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12274     VARIANT ondrag();
12275
12276     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12277     void ondragend(VARIANT v);
12278
12279     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12280     VARIANT ondragend();
12281
12282     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12283     void ondragenter(VARIANT v);
12284
12285     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12286     VARIANT ondragenter();
12287
12288     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12289     void ondragover(VARIANT v);
12290
12291     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12292     VARIANT ondragover();
12293
12294     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12295     void ondragleave(VARIANT v);
12296
12297     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12298     VARIANT ondragleave();
12299
12300     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12301     void ondrop(VARIANT v);
12302
12303     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12304     VARIANT ondrop();
12305
12306     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12307     void onbeforecut(VARIANT v);
12308
12309     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12310     VARIANT onbeforecut();
12311
12312     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12313     void oncut(VARIANT v);
12314
12315     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12316     VARIANT oncut();
12317
12318     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12319     void onbeforecopy(VARIANT v);
12320
12321     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12322     VARIANT onbeforecopy();
12323
12324     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12325     void oncopy(VARIANT v);
12326
12327     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12328     VARIANT oncopy();
12329
12330     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12331     void onbeforepaste(VARIANT v);
12332
12333     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12334     VARIANT onbeforepaste();
12335
12336     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12337     void onpaste(VARIANT v);
12338
12339     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12340     VARIANT onpaste();
12341
12342     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
12343     IHTMLCurrentStyle *currentStyle();
12344
12345     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12346     void onpropertychange(VARIANT v);
12347
12348     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12349     VARIANT onpropertychange();
12350
12351     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
12352     IHTMLRectCollection *getClientRects();
12353
12354     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
12355     IHTMLRect *getBoundingClientRect();
12356
12357     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
12358     void setExpression(
12359             [in] BSTR propname,
12360             [in] BSTR expression,
12361             [in, defaultvalue("")] BSTR language);
12362
12363     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
12364     VARIANT getExpression([in] BSTR propname);
12365
12366     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
12367     VARIANT_BOOL removeExpression([in] BSTR propname);
12368
12369     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12370     void tabIndex(short v);
12371
12372     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12373     short tabIndex();
12374
12375     [id(DISPID_IHTMLELEMENT2_FOCUS)]
12376     void focus();
12377
12378     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12379     void accessKey(BSTR v);
12380
12381     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12382     BSTR accessKey();
12383
12384     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12385     void onblur(VARIANT v);
12386
12387     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12388     VARIANT onblur();
12389
12390     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12391     void onfocus(VARIANT v);
12392
12393     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12394     VARIANT onfocus();
12395
12396     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12397     void onresize(VARIANT v);
12398
12399     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12400     VARIANT onresize();
12401
12402     [id(DISPID_IHTMLELEMENT2_BLUR)]
12403     void blur();
12404
12405     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
12406     void addFilter([in] IUnknown *pUnk);
12407
12408     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
12409     void removeFilter([in] IUnknown *pUnk);
12410
12411     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
12412     LONG clientHeight();
12413
12414     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
12415     LONG clientWidth();
12416
12417     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
12418     LONG clientTop();
12419
12420     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
12421     LONG clientLeft();
12422
12423     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
12424     VARIANT_BOOL attachEvent(
12425             [in] BSTR event,
12426             [in] IDispatch *pDisp);
12427
12428     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
12429     void detachEvent(
12430             [in] BSTR event,
12431             [in] IDispatch *pDisp);
12432
12433     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
12434     VARIANT readyState();
12435
12436     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12437     void onreadystatechange(VARIANT v);
12438
12439     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12440     VARIANT onreadystatechange();
12441
12442     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12443     void onrowsdelete(VARIANT v);
12444
12445     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12446     VARIANT onrowsdelete();
12447
12448     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12449     void onrowsinserted(VARIANT v);
12450
12451     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12452      VARIANT onrowsinserted();
12453
12454     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12455      void oncellchange(VARIANT v);
12456
12457     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12458     VARIANT oncellchange();
12459
12460     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12461     void dir(BSTR v);
12462
12463     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12464     BSTR dir();
12465
12466     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
12467     IDispatch *createControlRange();
12468
12469     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
12470     LONG scrollHeight();
12471
12472     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
12473     LONG scrollWidth();
12474
12475     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12476     void scrollTop(LONG v);
12477
12478     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12479     LONG scrollTop();
12480
12481     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
12482     void scrollLeft(LONG v);
12483
12484     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
12485     LONG scrollLeft();
12486
12487     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
12488     void clearAttributes();
12489
12490     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
12491     void oncontextmenu(VARIANT v);
12492
12493     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
12494     VARIANT oncontextmenu();
12495
12496     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
12497     IHTMLElement *insertAdjacentElement(
12498             [in] BSTR where,
12499             [in] IHTMLElement *insertedElement);
12500
12501     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
12502     IHTMLElement *applyElement(
12503             [in] IHTMLElement *apply,
12504             [in] BSTR where);
12505
12506     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
12507     BSTR getAdjacentText([in] BSTR where);
12508
12509     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
12510     BSTR replaceAdjacentText(
12511             [in] BSTR where,
12512             [in] BSTR newText);
12513
12514     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
12515     VARIANT_BOOL canHaveChildren();
12516
12517     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
12518     LONG addBehavior(
12519             [in] BSTR bstrUrl,
12520             [in, optional] VARIANT *pvarFactory);
12521
12522     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
12523     VARIANT_BOOL removeBehavior([in] LONG cookie);
12524
12525     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
12526     IHTMLStyle *runtimeStyle();
12527
12528     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
12529     IDispatch *behaviorUrns();
12530
12531     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
12532     void tagUrn(BSTR v);
12533
12534     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
12535     BSTR tagUrn();
12536
12537     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12538     void onbeforeeditfocus(VARIANT v);
12539
12540     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12541     VARIANT onbeforeeditfocus();
12542
12543     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
12544     LONG readyStateValue();
12545
12546     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
12547     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12548
12549     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
12550     void mergeAttributes(
12551             [in] IHTMLElement *mergeThis,
12552             [in, optional] VARIANT *pvarFlags);
12553
12554     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
12555     VARIANT_BOOL isMultiLine();
12556
12557     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
12558     VARIANT_BOOL canHaveHTML();
12559
12560     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12561     void onlayoutcomplete(VARIANT v);
12562
12563     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12564     VARIANT onlayoutcomplete();
12565
12566     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12567     void onpage(VARIANT v);
12568
12569     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12570     VARIANT onpage();
12571
12572     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12573     void inflateBlock(VARIANT_BOOL v);
12574
12575     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12576     VARIANT_BOOL inflateBlock();
12577
12578     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12579     void onbeforedeactivate(VARIANT v);
12580
12581     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12582     VARIANT onbeforedeactivate();
12583
12584     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
12585     void setActive();
12586
12587     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12588     void contentEditable(BSTR v);
12589
12590     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12591     BSTR contentEditable();
12592
12593     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
12594     VARIANT_BOOL isContentEditable();
12595
12596     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12597     void hideFocus(VARIANT_BOOL v);
12598
12599     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12600     VARIANT_BOOL hideFocus();
12601
12602     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12603     void disabled(VARIANT_BOOL v);
12604
12605     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12606     VARIANT_BOOL disabled();
12607
12608     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
12609     VARIANT_BOOL isDisabled();
12610
12611     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12612     void onmove(VARIANT v);
12613
12614     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12615     VARIANT onmove();
12616
12617     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12618     void oncontrolselect(VARIANT v);
12619
12620     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12621     VARIANT oncontrolselect();
12622
12623     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
12624     VARIANT_BOOL fireEvent(
12625             [in] BSTR bstrEventName,
12626             [in, optional] VARIANT *pvarEventObject);
12627
12628     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12629     void onresizestart(VARIANT v);
12630
12631     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12632     VARIANT onresizestart();
12633
12634     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12635     void onresizeend(VARIANT v);
12636
12637     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12638     VARIANT onresizeend();
12639
12640     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12641     void onmovestart(VARIANT v);
12642
12643     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12644     VARIANT onmovestart();
12645
12646     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12647     void onmoveend(VARIANT v);
12648
12649     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12650     VARIANT onmoveend();
12651
12652     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12653     void onmouseenter(VARIANT v);
12654
12655     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12656     VARIANT onmouseenter();
12657
12658     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12659     void onmouseleave(VARIANT v);
12660
12661     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12662     VARIANT onmouseleave();
12663
12664     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12665     void onactivate(VARIANT v);
12666
12667     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12668     VARIANT onactivate();
12669
12670     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12671     void ondeactivate(VARIANT v);
12672
12673     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12674     VARIANT ondeactivate();
12675
12676     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
12677     VARIANT_BOOL dragDrop();
12678
12679     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
12680     LONG glyphMode();
12681
12682     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12683     void onmousewheel(VARIANT v);
12684
12685     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12686     VARIANT onmousewheel();
12687
12688     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
12689     void normalize();
12690
12691     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
12692     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
12693
12694     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
12695     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
12696
12697     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
12698     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
12699
12700     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12701     void onbeforeactivate(VARIANT v);
12702
12703     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12704     VARIANT onbeforeactivate();
12705
12706     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12707     void onfocusin(VARIANT v);
12708
12709     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12710     VARIANT onfocusin();
12711
12712     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12713     void onfocusout(VARIANT v);
12714
12715     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12716     VARIANT onfocusout();
12717
12718     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
12719     LONG uniqueNumber();
12720
12721     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
12722     BSTR uniqueID();
12723
12724     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
12725     LONG nodeType();
12726
12727     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
12728     IHTMLDOMNode *parentNode();
12729
12730     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
12731     VARIANT_BOOL hasChildNodes();
12732
12733     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
12734     IDispatch *childNodes();
12735
12736     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
12737     IDispatch *attributes();
12738
12739     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
12740     IHTMLDOMNode *insertBefore(
12741             [in] IHTMLDOMNode *newChild,
12742             [in, optional] VARIANT refChild);
12743
12744     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
12745     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
12746
12747     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
12748     IHTMLDOMNode *replaceChild(
12749             [in] IHTMLDOMNode *newChild,
12750             [in] IHTMLDOMNode *oldChild);
12751
12752     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
12753     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
12754
12755     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
12756     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
12757
12758     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
12759     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
12760
12761     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
12762     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
12763
12764     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
12765     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
12766
12767     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
12768     BSTR nodeName();
12769
12770     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12771     void nodeValue(VARIANT v);
12772
12773     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12774     VARIANT nodeValue();
12775
12776     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
12777     IHTMLDOMNode *firstChild();
12778
12779     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
12780     IHTMLDOMNode *lastChild();
12781
12782     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
12783     IHTMLDOMNode *previousSibling();
12784
12785     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
12786     IHTMLDOMNode *nextSibling();
12787
12788     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
12789     IDispatch *ownerDocument();
12790 }
12791
12792 /*****************************************************************************
12793  *    IOmHistory interface
12794  */
12795 [
12796     odl,
12797     oleautomation,
12798     dual,
12799     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
12800 ]
12801 interface IOmHistory : IDispatch
12802 {
12803     [propget, id(DISPID_IOMHISTORY_LENGTH)]
12804     HRESULT length([retval, out] short *p);
12805
12806     [id(DISPID_IOMHISTORY_BACK)]
12807     HRESULT back([optional, in] VARIANT *pvargdistance);
12808
12809     [id(DISPID_IOMHISTORY_FORWARD)]
12810     HRESULT forward([optional, in] VARIANT *pvargdistance);
12811
12812     [id(DISPID_IOMHISTORY_GO)]
12813     HRESULT go([optional, in] VARIANT *pvargdistance);
12814 }
12815
12816 [
12817     noncreatable,
12818     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
12819 ]
12820 coclass HTMLHistory
12821 {
12822     [default]           interface IOmHistory;
12823 }
12824
12825 /*****************************************************************************
12826  *    IHTMLMimeTypesCollection interface
12827  */
12828 [
12829     odl,
12830     oleautomation,
12831     dual,
12832     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
12833 ]
12834 interface IHTMLMimeTypesCollection : IDispatch
12835 {
12836     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
12837     HRESULT length([retval, out] LONG *p);
12838 }
12839
12840 [
12841     noncreatable,
12842     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
12843 ]
12844 coclass CMimeTypes
12845 {
12846     [default]           interface IHTMLMimeTypesCollection;
12847 }
12848
12849 /*****************************************************************************
12850  *    IHTMLPluginsCollection interface
12851  */
12852 [
12853     odl,
12854     oleautomation,
12855     dual,
12856     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
12857 ]
12858 interface IHTMLPluginsCollection : IDispatch
12859 {
12860     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
12861     HRESULT length([retval, out] LONG *p);
12862
12863     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
12864     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
12865 }
12866
12867 [
12868     noncreatable,
12869     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
12870 ]
12871 coclass CPlugins
12872 {
12873     [default]           interface IHTMLPluginsCollection;
12874 }
12875
12876 /*****************************************************************************
12877  *    IHTMLOpsProfile interface
12878  */
12879 [
12880     odl,
12881     oleautomation,
12882     dual,
12883     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
12884 ]
12885 interface IHTMLOpsProfile : IDispatch
12886 {
12887     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
12888     HRESULT addRequest(
12889         [in] BSTR name,
12890         [optional, in] VARIANT reserved,
12891         [retval, out] VARIANT_BOOL *success);
12892
12893     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
12894     HRESULT clearRequest();
12895
12896     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
12897     HRESULT doRequest(
12898         [in] VARIANT usage,
12899         [optional, in] VARIANT fname,
12900         [optional, in] VARIANT domain,
12901         [optional, in] VARIANT path,
12902         [optional, in] VARIANT expire,
12903         [optional, in] VARIANT reserved);
12904
12905     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
12906     HRESULT getAttribute(
12907         [in] BSTR name,
12908         [retval, out] BSTR *value);
12909
12910     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
12911     HRESULT setAttribute(
12912         [in] BSTR name,
12913         [in] BSTR value,
12914         [optional, in] VARIANT prefs,
12915         [retval, out] VARIANT_BOOL *success);
12916
12917     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
12918     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
12919
12920     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
12921     HRESULT addReadRequest(
12922         [in] BSTR name,
12923         [optional, in] VARIANT reserved,
12924         [retval, out] VARIANT_BOOL *success);
12925
12926     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
12927     HRESULT doReadRequest(
12928         [in] VARIANT usage,
12929         [optional, in] VARIANT fname,
12930         [optional, in] VARIANT domain,
12931         [optional, in] VARIANT path,
12932         [optional, in] VARIANT expire,
12933         [optional, in] VARIANT reserved);
12934
12935     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
12936     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
12937 }
12938
12939 [
12940     noncreatable,
12941     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
12942 ]
12943 coclass COpsProfile
12944 {
12945     [default]           interface IHTMLOpsProfile;
12946 }
12947
12948 /*****************************************************************************
12949  *    IOmNavigator interface
12950  */
12951 [
12952         odl,
12953         oleautomation,
12954         dual,
12955         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
12956 ]
12957 interface IOmNavigator : IDispatch
12958 {
12959     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
12960     HRESULT appCodeName([retval, out] BSTR *p);
12961
12962     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
12963     HRESULT appName([retval, out] BSTR *p);
12964
12965     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
12966     HRESULT appVersion([retval, out] BSTR *p);
12967
12968     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
12969     HRESULT userAgent([retval, out] BSTR *p);
12970
12971     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
12972     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
12973
12974     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
12975     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
12976
12977     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
12978     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
12979
12980     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
12981     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
12982
12983     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
12984     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
12985
12986     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
12987     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
12988
12989     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
12990     HRESULT toString([retval, out] BSTR *String);
12991
12992     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
12993     HRESULT cpuClass([retval, out] BSTR *p);
12994
12995     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
12996     HRESULT systemLanguage([retval, out] BSTR *p);
12997
12998     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
12999     HRESULT browserLanguage([retval, out] BSTR *p);
13000
13001     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
13002     HRESULT userLanguage([retval, out] BSTR *p);
13003
13004     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
13005     HRESULT platform([retval, out] BSTR *p);
13006
13007     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
13008     HRESULT appMinorVersion([retval, out] BSTR *p);
13009
13010     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
13011     HRESULT connectionSpeed([retval, out] LONG *p);
13012
13013     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
13014     HRESULT onLine([retval, out] VARIANT_BOOL *p);
13015
13016     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
13017     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
13018 }
13019
13020 /*****************************************************************************
13021  *    DispHTMLNavigator dispinterface
13022  */
13023 [
13024     hidden,
13025     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
13026 ]
13027 dispinterface DispHTMLNavigator
13028 {
13029 properties:
13030 methods:
13031     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
13032     BSTR appCodeName();
13033
13034     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
13035     BSTR appName();
13036
13037     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
13038     BSTR appVersion();
13039
13040     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
13041     BSTR userAgent();
13042
13043     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
13044     VARIANT_BOOL javaEnabled();
13045
13046     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
13047     VARIANT_BOOL taintEnabled();
13048
13049     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
13050     IHTMLMimeTypesCollection *mimeTypes();
13051
13052     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
13053     IHTMLPluginsCollection *plugins();
13054
13055     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
13056     VARIANT_BOOL cookieEnabled();
13057
13058     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
13059     IHTMLOpsProfile *opsProfile();
13060
13061     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
13062     BSTR toString();
13063
13064     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
13065     BSTR cpuClass();
13066
13067     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
13068     BSTR systemLanguage();
13069
13070     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
13071     BSTR browserLanguage();
13072
13073     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
13074     BSTR userLanguage();
13075
13076     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
13077     BSTR platform();
13078
13079     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
13080     BSTR appMinorVersion();
13081
13082     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
13083     LONG connectionSpeed();
13084
13085     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
13086     VARIANT_BOOL onLine();
13087
13088     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
13089     IHTMLOpsProfile *userProfile();
13090
13091     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
13092     IDispatch *constructor();
13093 }
13094
13095 [
13096     noncreatable,
13097     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
13098 ]
13099 coclass HTMLNavigator
13100 {
13101     [default]  dispinterface DispHTMLNavigator;
13102                interface IOmNavigator;
13103 }
13104
13105 /*****************************************************************************
13106  *    IHTMLLocation interface
13107  */
13108 [
13109     odl,
13110     oleautomation,
13111     dual,
13112     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
13113 ]
13114 interface IHTMLLocation : IDispatch
13115 {
13116     [propput, id(DISPID_IHTMLLOCATION_HREF)]
13117     HRESULT href([in] BSTR v);
13118
13119     [propget, id(DISPID_IHTMLLOCATION_HREF)]
13120     HRESULT href([retval, out] BSTR *p);
13121
13122     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
13123     HRESULT protocol([in] BSTR v);
13124
13125     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
13126     HRESULT protocol([retval, out] BSTR *p);
13127
13128     [propput, id(DISPID_IHTMLLOCATION_HOST)]
13129     HRESULT host([in] BSTR v);
13130
13131     [propget, id(DISPID_IHTMLLOCATION_HOST)]
13132     HRESULT host([retval, out] BSTR *p);
13133
13134     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
13135     HRESULT hostname([in] BSTR v);
13136
13137     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
13138     HRESULT hostname([retval, out] BSTR *p);
13139
13140     [propput, id(DISPID_IHTMLLOCATION_PORT)]
13141     HRESULT port([in] BSTR v);
13142
13143     [propget, id(DISPID_IHTMLLOCATION_PORT)]
13144     HRESULT port([retval, out] BSTR *p);
13145
13146     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
13147     HRESULT pathname([in] BSTR v);
13148
13149     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
13150     HRESULT pathname([retval, out] BSTR *p);
13151
13152     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
13153     HRESULT search([in] BSTR v);
13154
13155     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
13156     HRESULT search([retval, out] BSTR *p);
13157
13158     [propput, id(DISPID_IHTMLLOCATION_HASH)]
13159     HRESULT hash([in] BSTR v);
13160
13161     [propget, id(DISPID_IHTMLLOCATION_HASH)]
13162     HRESULT hash([retval, out] BSTR *p);
13163
13164     [id(DISPID_IHTMLLOCATION_RELOAD)]
13165     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
13166
13167     [id(DISPID_IHTMLLOCATION_REPLACE)]
13168     HRESULT replace([in] BSTR bstr);
13169
13170     [id(DISPID_IHTMLLOCATION_ASSIGN)]
13171     HRESULT assign([in] BSTR bstr);
13172
13173     [id(DISPID_IHTMLLOCATION_TOSTRING)]
13174     HRESULT toString([retval, out] BSTR *String);
13175 }
13176
13177 /*****************************************************************************
13178  *    DispHTMLLocation dispinterface
13179  */
13180 [
13181     hidden,
13182     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
13183 ]
13184 dispinterface DispHTMLLocation
13185 {
13186 properties:
13187 methods:
13188     [propput, id(DISPID_IHTMLLOCATION_HREF)]
13189     void href(BSTR v);
13190
13191     [propget, id(DISPID_IHTMLLOCATION_HREF)]
13192     BSTR href();
13193
13194     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
13195     void protocol(BSTR v);
13196
13197     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
13198     BSTR protocol();
13199
13200     [propput, id(DISPID_IHTMLLOCATION_HOST)]
13201     void host(BSTR v);
13202
13203     [propget, id(DISPID_IHTMLLOCATION_HOST)]
13204     BSTR host();
13205
13206     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
13207     void hostname(BSTR v);
13208
13209     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
13210     BSTR hostname();
13211
13212     [propput, id(DISPID_IHTMLLOCATION_PORT)]
13213     void port(BSTR v);
13214
13215     [propget, id(DISPID_IHTMLLOCATION_PORT)]
13216     BSTR port();
13217
13218     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
13219     void pathname(BSTR v);
13220
13221     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
13222     BSTR pathname();
13223
13224     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
13225     void search(BSTR v);
13226
13227     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
13228     BSTR search();
13229
13230     [propput, id(DISPID_IHTMLLOCATION_HASH)]
13231     void hash(BSTR v);
13232
13233     [propget, id(DISPID_IHTMLLOCATION_HASH)]
13234     BSTR hash();
13235
13236     [id(DISPID_IHTMLLOCATION_RELOAD)]
13237     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
13238
13239     [id(DISPID_IHTMLLOCATION_REPLACE)]
13240     void replace([in] BSTR bstr);
13241
13242     [id(DISPID_IHTMLLOCATION_ASSIGN)]
13243     void assign([in] BSTR bstr);
13244
13245     [id(DISPID_IHTMLLOCATION_TOSTRING)]
13246     BSTR toString();
13247
13248     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
13249     IDispatch *constructor();
13250 }
13251
13252 [
13253     noncreatable,
13254     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
13255 ]
13256 coclass HTMLLocation
13257 {
13258     [default]  dispinterface DispHTMLLocation;
13259                interface IHTMLLocation;
13260 }
13261
13262 [
13263     odl,
13264     oleautomation,
13265     dual,
13266     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
13267 ]
13268 interface IHTMLBookmarkCollection : IDispatch
13269 {
13270     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
13271     HRESULT length([out, retval] LONG *p);
13272
13273     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
13274     HRESULT _newEnum([out, retval] IUnknown **p);
13275
13276     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
13277     HRESULT item(
13278             [in] LONG index,
13279             [out, retval] VARIANT *pVarBookmark);
13280 }
13281
13282 /*****************************************************************************
13283  *    IHTMLDataTransfer interface
13284  */
13285 [
13286     odl,
13287     oleautomation,
13288     dual,
13289     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
13290 ]
13291 interface IHTMLDataTransfer : IDispatch
13292 {
13293     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
13294     HRESULT setData(
13295             [in] BSTR format,
13296             [in] VARIANT *data,
13297             [out, retval] VARIANT_BOOL *pret);
13298
13299     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
13300     HRESULT getData(
13301             [in] BSTR format,
13302             [out, retval] VARIANT *pvarRet);
13303
13304     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
13305     HRESULT clearData(
13306             [in] BSTR format,
13307             [out, retval] VARIANT_BOOL *pret);
13308
13309     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
13310     HRESULT dropEffect([in] BSTR v);
13311
13312     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
13313     HRESULT dropEffect([out, retval] BSTR *p);
13314
13315     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
13316     HRESULT effectAllowed([in] BSTR v);
13317
13318     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
13319     HRESULT effectAllowed([out, retval] BSTR *p);
13320 }
13321
13322 /*****************************************************************************
13323  *    IHTMLEventObj interface
13324  */
13325 [
13326     odl,
13327     oleautomation,
13328     dual,
13329     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
13330 ]
13331 interface IHTMLEventObj : IDispatch
13332 {
13333     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
13334     HRESULT srcElement([retval, out] IHTMLElement **p);
13335
13336     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
13337     HRESULT altKey([retval, out] VARIANT_BOOL *p);
13338
13339     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
13340     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
13341
13342     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
13343     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
13344
13345     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13346     HRESULT returnValue([in] VARIANT v);
13347
13348     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13349     HRESULT returnValue([retval, out] VARIANT *p);
13350
13351     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13352     HRESULT cancelBubble([in] VARIANT_BOOL v);
13353
13354     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13355     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
13356
13357     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
13358     HRESULT fromElement([retval, out] IHTMLElement **p);
13359
13360     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
13361     HRESULT toElement([retval, out] IHTMLElement **p);
13362
13363     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13364     HRESULT keyCode([in] LONG v);
13365
13366     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13367     HRESULT keyCode([retval, out] LONG *p);
13368
13369     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
13370     HRESULT button([retval, out] LONG *p);
13371
13372     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
13373     HRESULT type([retval, out] BSTR *p);
13374
13375     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
13376     HRESULT qualifier([retval, out] BSTR *p);
13377
13378     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
13379     HRESULT reason([retval, out] LONG *p);
13380
13381     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
13382     HRESULT x([retval, out] LONG *p);
13383
13384     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
13385     HRESULT y([retval, out] LONG *p);
13386
13387     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
13388     HRESULT clientX([retval, out] LONG *p);
13389
13390     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
13391     HRESULT clientY([retval, out] LONG *p);
13392
13393     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
13394     HRESULT offsetX([retval, out] LONG *p);
13395
13396     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
13397     HRESULT offsetY([retval, out] LONG *p);
13398
13399     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
13400     HRESULT screenX([retval, out] LONG *p);
13401
13402     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
13403     HRESULT screenY([retval, out] LONG *p);
13404
13405     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
13406     HRESULT srcFilter([retval, out] IDispatch **p);
13407 }
13408
13409 /*****************************************************************************
13410  *    DispCEventObj dispinterface
13411  */
13412 [
13413     hidden,
13414     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
13415 ]
13416 dispinterface DispCEventObj
13417 {
13418 properties:
13419 methods:
13420     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13421     void returnValue(VARIANT v);
13422
13423     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13424     VARIANT returnValue();
13425
13426     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13427     void cancelBubble(VARIANT_BOOL v);
13428
13429     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13430     VARIANT_BOOL cancelBubble();
13431
13432     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13433     void keyCode(LONG v);
13434
13435     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13436     LONG keyCode();
13437
13438     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
13439     void setAttribute(
13440             [in] BSTR strAttributeName,
13441             [in] VARIANT AttributeValue,
13442             [in, defaultvalue(1)] LONG lFlags);
13443
13444     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
13445     VARIANT getAttribute(
13446             [in] BSTR strAttributeName,
13447             [in, defaultvalue(0)] LONG lFlags);
13448
13449     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
13450     VARIANT_BOOL removeAttribute(
13451             [in] BSTR strAttributeName,
13452             [in, defaultvalue(1)] LONG lFlags);
13453
13454     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
13455     void propertyName(BSTR v);
13456
13457     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
13458     BSTR propertyName();
13459
13460     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
13461     void bookmarks(IHTMLBookmarkCollection *v);
13462
13463     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
13464     IHTMLBookmarkCollection *bookmarks();
13465
13466     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
13467     void recordset(IDispatch *v);
13468
13469     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
13470     IDispatch *recordset();
13471
13472     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
13473     void dataFld(BSTR v);
13474
13475     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
13476     BSTR dataFld();
13477
13478     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
13479     void boundElements(IHTMLElementCollection *v);
13480
13481     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
13482     IHTMLElementCollection *boundElements();
13483
13484     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
13485     void repeat(VARIANT_BOOL v);
13486
13487     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
13488     VARIANT_BOOL repeat();
13489
13490     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
13491     void srcUrn(BSTR v);
13492
13493     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
13494     BSTR srcUrn();
13495
13496     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
13497     void srcElement(IHTMLElement *v);
13498
13499     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
13500     IHTMLElement *srcElement();
13501
13502     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
13503     void altKey(VARIANT_BOOL v);
13504
13505     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
13506     VARIANT_BOOL altKey();
13507
13508     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
13509     void ctrlKey(VARIANT_BOOL v);
13510
13511     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
13512     VARIANT_BOOL ctrlKey();
13513
13514     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
13515     void shiftKey(VARIANT_BOOL v);
13516
13517     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
13518     VARIANT_BOOL shiftKey();
13519
13520     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
13521     void fromElement(IHTMLElement *v);
13522
13523     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
13524     IHTMLElement *fromElement();
13525
13526     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
13527     void toElement(IHTMLElement *v);
13528
13529     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
13530     IHTMLElement *toElement();
13531
13532     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
13533     void button(LONG v);
13534
13535     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
13536     LONG button();
13537
13538     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
13539     void type(BSTR v);
13540
13541     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
13542     BSTR type();
13543
13544     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
13545     void qualifier(BSTR v);
13546
13547     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
13548     BSTR qualifier();
13549
13550     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
13551     void reason(LONG v);
13552
13553     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
13554     LONG reason();
13555
13556     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
13557     void x(LONG v);
13558
13559     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
13560     LONG x();
13561
13562     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
13563     void y(LONG v);
13564
13565     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
13566     LONG y();
13567
13568     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
13569     void clientX(LONG v);
13570
13571     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
13572     LONG clientX();
13573
13574     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
13575     void clientY(LONG v);
13576
13577     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
13578     LONG clientY();
13579     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
13580     void offsetX(LONG v);
13581
13582     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
13583     LONG offsetX();
13584
13585     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
13586     void offsetY(LONG v);
13587
13588     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
13589     LONG offsetY();
13590
13591     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
13592     void screenX(LONG v);
13593
13594     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
13595     LONG screenX();
13596
13597     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
13598     void screenY(LONG v);
13599
13600     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
13601     LONG screenY();
13602
13603     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
13604     void srcFilter(IDispatch *v);
13605
13606     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
13607     IDispatch *srcFilter();
13608
13609     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
13610     IHTMLDataTransfer *dataTransfer();
13611
13612     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
13613     VARIANT_BOOL contentOverflow();
13614
13615     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
13616     void shiftLeft(VARIANT_BOOL v);
13617
13618     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
13619     VARIANT_BOOL shiftLeft();
13620
13621     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
13622     void altLeft(VARIANT_BOOL v);
13623
13624     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
13625     VARIANT_BOOL altLeft();
13626
13627     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
13628     void ctrlLeft(VARIANT_BOOL v);
13629
13630     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
13631     VARIANT_BOOL ctrlLeft();
13632
13633     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
13634     LONG_PTR imeCompositionChange();
13635
13636     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
13637     LONG_PTR imeNotifyCommand();
13638
13639     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
13640     LONG_PTR imeNotifyData();
13641
13642     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
13643     LONG_PTR imeRequest();
13644
13645     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
13646     LONG_PTR imeRequestData();
13647
13648     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
13649     LONG_PTR keyboardLayout();
13650
13651     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
13652     LONG behaviorCookie();
13653
13654     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
13655     LONG behaviorPart();
13656
13657     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
13658     BSTR nextPage();
13659
13660     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
13661     LONG wheelDelta();
13662 }
13663
13664 /*****************************************************************************
13665  *    IHTMLFramesCollection2 interface
13666  */
13667 [
13668     odl,
13669     oleautomation,
13670     dual,
13671     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
13672 ]
13673 interface IHTMLFramesCollection2 : IDispatch
13674 {
13675     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13676     HRESULT item(
13677         [in] VARIANT *pvarIndex,
13678         [retval, out] VARIANT *pvarResult);
13679
13680     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13681     HRESULT length([retval, out] LONG *p);
13682 }
13683
13684 /*****************************************************************************
13685  *    IHTMLScreen interface
13686  */
13687 [
13688     odl,
13689     oleautomation,
13690     dual,
13691     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
13692 ]
13693 interface IHTMLScreen : IDispatch
13694 {
13695     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
13696     HRESULT colorDepth([retval, out] LONG *p);
13697
13698     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
13699     HRESULT bufferDepth([in] LONG v);
13700
13701     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
13702     HRESULT bufferDepth([retval, out] LONG *p);
13703
13704     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
13705     HRESULT width([retval, out] LONG *p);
13706
13707     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
13708     HRESULT height([retval, out] LONG *p);
13709
13710     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13711     HRESULT updateInterval([in] LONG v);
13712
13713     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13714     HRESULT updateInterval([retval, out] LONG *p);
13715
13716     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
13717     HRESULT availHeight([retval, out] LONG *p);
13718
13719     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
13720     HRESULT availWidth([retval, out] LONG *p);
13721
13722     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
13723     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
13724 }
13725
13726 /*****************************************************************************
13727  *    IHTMLWindow2 interface
13728  */
13729 [
13730     odl,
13731     oleautomation,
13732     dual,
13733     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
13734 ]
13735 interface IHTMLWindow2 : IHTMLFramesCollection2
13736 {
13737     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13738     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
13739
13740     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13741     HRESULT defaultStatus([in] BSTR v);
13742
13743     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13744     HRESULT defaultStatus([retval, out] BSTR *p);
13745
13746     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13747     HRESULT status([in] BSTR v);
13748
13749     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13750     HRESULT status([retval, out] BSTR *p);
13751
13752     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
13753     HRESULT setTimeout(
13754         [in] BSTR expression,
13755         [in] LONG msec,
13756         [optional, in] VARIANT *language,
13757         [retval, out] LONG *timerID);
13758
13759     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13760     HRESULT clearTimeout([in] LONG timerID);
13761
13762     [id(DISPID_IHTMLWINDOW2_ALERT)]
13763     HRESULT alert([defaultvalue(""), in] BSTR message);
13764
13765     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13766     HRESULT confirm(
13767         [defaultvalue(""), in] BSTR message,
13768         [retval, out] VARIANT_BOOL *confirmed);
13769
13770     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13771     HRESULT prompt(
13772         [defaultvalue(""), in] BSTR message,
13773         [defaultvalue("undefined"), in] BSTR defstr,
13774         [retval, out] VARIANT *textdata);
13775
13776     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13777     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
13778
13779     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13780     HRESULT location([retval, out] IHTMLLocation **p);
13781
13782     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13783     HRESULT history([retval, out] IOmHistory **p);
13784
13785     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13786     HRESULT close();
13787
13788     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13789     HRESULT opener([in] VARIANT v);
13790
13791     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13792     HRESULT opener([retval, out] VARIANT *p);
13793
13794     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13795     HRESULT navigator([retval, out] IOmNavigator **p);
13796
13797     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13798     HRESULT name([in] BSTR v);
13799
13800     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13801     HRESULT name([retval, out] BSTR *p);
13802
13803     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13804     HRESULT parent([retval, out] IHTMLWindow2 **p);
13805
13806     [id(DISPID_IHTMLWINDOW2_OPEN)]
13807     HRESULT open(
13808         [defaultvalue(""), in] BSTR url,
13809         [defaultvalue(""), in] BSTR name,
13810         [defaultvalue(""), in] BSTR features,
13811         [defaultvalue(0), in] VARIANT_BOOL replace,
13812         [retval, out] IHTMLWindow2 **pomWindowResult);
13813
13814     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13815     HRESULT self([retval, out] IHTMLWindow2 **p);
13816
13817     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13818     HRESULT top([retval, out] IHTMLWindow2 **p);
13819
13820     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13821     HRESULT window([retval, out] IHTMLWindow2 **p);
13822
13823     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
13824     HRESULT navigate([in] BSTR url);
13825
13826     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13827     HRESULT onfocus([in] VARIANT v);
13828
13829     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13830     HRESULT onfocus([retval, out] VARIANT *p);
13831
13832     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13833     HRESULT onblur([in] VARIANT v);
13834
13835     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13836     HRESULT onblur([retval, out] VARIANT *p);
13837
13838     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13839     HRESULT onload([in] VARIANT v);
13840
13841     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13842     HRESULT onload([retval, out] VARIANT *p);
13843
13844     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13845     HRESULT onbeforeunload([in] VARIANT v);
13846
13847     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13848     HRESULT onbeforeunload([retval, out] VARIANT *p);
13849
13850     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13851     HRESULT onunload([in] VARIANT v);
13852
13853     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13854     HRESULT onunload([retval, out] VARIANT *p);
13855
13856     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
13857     HRESULT onhelp([in] VARIANT v);
13858
13859     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
13860     HRESULT onhelp([retval, out] VARIANT *p);
13861
13862     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
13863     HRESULT onerror([in] VARIANT v);
13864
13865     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
13866     HRESULT onerror([retval, out] VARIANT *p);
13867
13868     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13869     HRESULT onresize([in] VARIANT v);
13870
13871     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13872     HRESULT onresize([retval, out] VARIANT *p);
13873
13874     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13875     HRESULT onscroll([in] VARIANT v);
13876
13877     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13878     HRESULT onscroll([retval, out] VARIANT *p);
13879
13880     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
13881     HRESULT document([retval, out] IHTMLDocument2 **p);
13882
13883     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
13884     HRESULT event([retval, out] IHTMLEventObj **p);
13885
13886     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
13887     HRESULT _newEnum([retval, out] IUnknown **p);
13888
13889     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
13890     HRESULT showModalDialog(
13891         [in] BSTR dialog,
13892         [optional, in] VARIANT *varArgIn,
13893         [optional, in] VARIANT *varOptions,
13894         [retval, out] VARIANT *varArgOut);
13895
13896     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
13897     HRESULT showHelp(
13898         [in] BSTR helpURL,
13899         [optional, in] VARIANT helpArg,
13900         [defaultvalue(""), in] BSTR features);
13901
13902     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
13903     HRESULT screen([retval, out] IHTMLScreen **p);
13904
13905     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
13906     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
13907
13908     [id(DISPID_IHTMLWINDOW2_FOCUS)]
13909     HRESULT focus();
13910
13911     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
13912     HRESULT closed([retval, out] VARIANT_BOOL *p);
13913
13914     [id(DISPID_IHTMLWINDOW2_BLUR)]
13915     HRESULT blur();
13916
13917     [id(DISPID_IHTMLWINDOW2_SCROLL)]
13918     HRESULT scroll([in] LONG x, [in] LONG y);
13919
13920     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
13921     HRESULT clientInformation([retval, out] IOmNavigator **p);
13922
13923     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
13924     HRESULT setInterval([
13925         in] BSTR expression,
13926         [in] LONG msec,
13927         [optional, in] VARIANT *language,
13928         [retval, out] LONG *timerID);
13929
13930     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
13931     HRESULT clearInterval([in] LONG timerID);
13932
13933     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13934     HRESULT offscreenBuffering([in] VARIANT v);
13935
13936     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13937     HRESULT offscreenBuffering([retval, out] VARIANT *p);
13938
13939     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
13940     HRESULT execScript(
13941         [in] BSTR scode,
13942         [defaultvalue("JScript"), in] BSTR language,
13943         [retval, out] VARIANT *pvarRet);
13944
13945     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
13946     HRESULT toString([retval, out] BSTR *String);
13947
13948     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
13949     HRESULT scrollBy([in] LONG x, [in] LONG y);
13950
13951     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
13952     HRESULT scrollTo([in] LONG x, [in] LONG y);
13953
13954     [id(DISPID_IHTMLWINDOW2_MOVETO)]
13955     HRESULT moveTo([in] LONG x, [in] LONG y);
13956
13957     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
13958     HRESULT moveBy([in] LONG x, [in] LONG y);
13959
13960     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
13961     HRESULT resizeTo([in] LONG x, [in] LONG y);
13962
13963     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
13964     HRESULT resizeBy([in] LONG x, [in] LONG y);
13965
13966     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
13967     HRESULT external([retval, out] IDispatch **p);
13968 }
13969
13970 /*****************************************************************************
13971  *    IHTMLWindow3 interface
13972  */
13973 [
13974     odl,
13975     oleautomation,
13976     dual,
13977     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
13978 ]
13979 interface IHTMLWindow3 : IDispatch
13980 {
13981     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
13982     HRESULT screenLeft([out, retval] LONG *p);
13983
13984     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
13985     HRESULT screenTop([out, retval] LONG *p);
13986
13987     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
13988     HRESULT attachEvent(
13989             [in] BSTR event,
13990             [in] IDispatch *pDisp,
13991             [out, retval] VARIANT_BOOL *pfResult);
13992
13993     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
13994     HRESULT detachEvent(
13995             [in] BSTR event,
13996             [in] IDispatch *pDisp);
13997
13998     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
13999     HRESULT setTimeout(
14000             [in] VARIANT *expression,
14001             [in] LONG msec,
14002             [in, optional] VARIANT *language,
14003             [out, retval] LONG *timerID);
14004
14005     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
14006     HRESULT setInterval(
14007             [in] VARIANT *expression,
14008             [in] LONG msec,
14009             [in, optional] VARIANT *language,
14010             [out, retval] LONG *timerID);
14011
14012     [id(DISPID_IHTMLWINDOW3_PRINT)]
14013     HRESULT print();
14014
14015     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14016     HRESULT onbeforeprint([in] VARIANT v);
14017
14018     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14019     HRESULT onbeforeprint([out, retval] VARIANT *p);
14020
14021     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14022     HRESULT onafterprint([in] VARIANT v);
14023
14024     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14025     HRESULT onafterprint([out, retval] VARIANT *p);
14026
14027     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
14028     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
14029
14030     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
14031     HRESULT showModelessDialog(
14032             [in, defaultvalue("")] BSTR url,
14033             [in, optional] VARIANT *varArgIn,
14034             [in, optional] VARIANT *options,
14035             [out, retval] IHTMLWindow2 **pDialog);
14036 }
14037
14038 /*****************************************************************************
14039  *    IHTMLWindow4 interface
14040  */
14041 [
14042     odl,
14043     oleautomation,
14044     dual,
14045     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
14046 ]
14047 interface IHTMLWindow4 : IDispatch
14048 {
14049     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
14050     HRESULT createPopup([optional, in] VARIANT* varArgIn,
14051                         [retval, out] IDispatch** ppPopup);
14052
14053     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
14054     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
14055 };
14056
14057 /*****************************************************************************
14058  *    IHTMLWindow5 interface
14059  */
14060 [
14061     odl,
14062     oleautomation,
14063     dual,
14064     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
14065 ]
14066 interface IHTMLWindow5 : IDispatch
14067 {
14068     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
14069     HRESULT XMLHttpRequest([in] VARIANT v);
14070
14071     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
14072     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
14073 };
14074
14075 /*****************************************************************************
14076  *    DispHTMLWindow2 dispinterface
14077  */
14078 [
14079     hidden,
14080     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
14081 ]
14082 dispinterface DispHTMLWindow2
14083 {
14084 properties:
14085 methods:
14086     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
14087     VARIANT item([in] VARIANT *pvarIndex);
14088
14089     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
14090     LONG length();
14091
14092     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
14093     IHTMLFramesCollection2 *frames();
14094
14095     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
14096     void defaultStatus(BSTR v);
14097
14098     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
14099     BSTR defaultStatus();
14100
14101     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
14102     void status(BSTR v);
14103
14104     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
14105     BSTR status();
14106
14107     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
14108     void clearTimeout([in] LONG timerID);
14109
14110     [id(DISPID_IHTMLWINDOW2_ALERT)]
14111     void alert([in, defaultvalue("")] BSTR message);
14112
14113     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
14114     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
14115
14116     [id(DISPID_IHTMLWINDOW2_PROMPT)]
14117     VARIANT prompt(
14118             [in, defaultvalue("")] BSTR message,
14119             [in, defaultvalue("undefined")] BSTR defstr);
14120
14121     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
14122     IHTMLImageElementFactory *Image();
14123
14124     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
14125     IHTMLLocation *location();
14126
14127     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
14128     IOmHistory *history();
14129
14130     [id(DISPID_IHTMLWINDOW2_CLOSE)]
14131     void close();
14132
14133     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
14134     void opener(VARIANT v);
14135
14136     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
14137     VARIANT opener();
14138
14139     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
14140     IOmNavigator *navigator();
14141
14142     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
14143     void name(BSTR v);
14144
14145     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
14146     BSTR name();
14147
14148     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
14149     IHTMLWindow2 *parent();
14150
14151     [id(DISPID_IHTMLWINDOW2_OPEN)]
14152     IHTMLWindow2 *open(
14153             [in, defaultvalue("")] BSTR url,
14154             [in, defaultvalue("")] BSTR name,
14155             [in, defaultvalue("")] BSTR features,
14156             [in, defaultvalue(0)]  VARIANT_BOOL replace);
14157
14158     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
14159     IHTMLWindow2 *self();
14160
14161     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
14162     IHTMLWindow2 *top();
14163
14164     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
14165     IHTMLWindow2 *window();
14166
14167     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
14168     void navigate([in] BSTR url);
14169
14170     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14171     void onfocus(VARIANT v);
14172
14173     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14174     VARIANT onfocus();
14175
14176     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14177     void onblur(VARIANT v);
14178
14179     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14180     VARIANT onblur();
14181
14182     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
14183     VARIANT onload();
14184
14185     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14186     void onbeforeunload(VARIANT v);
14187
14188     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14189     VARIANT onbeforeunload();
14190
14191     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14192     void onunload(VARIANT v);
14193
14194     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14195     VARIANT onunload();
14196
14197     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14198     void onhelp(VARIANT v);
14199
14200     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14201     VARIANT onhelp();
14202
14203     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14204     void onerror(VARIANT v);
14205
14206     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14207     VARIANT onerror();
14208
14209     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14210     void onresize(VARIANT v);
14211
14212     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14213     VARIANT onresize();
14214
14215     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14216     void onscroll(VARIANT v);
14217
14218     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14219     VARIANT onscroll();
14220
14221     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
14222     IHTMLDocument2 *document();
14223
14224     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
14225     IHTMLEventObj *event();
14226
14227     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
14228     IUnknown *_newEnum();
14229
14230     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
14231     VARIANT showModalDialog(
14232             [in] BSTR dialog,
14233             [in, optional] VARIANT *varArgIn,
14234             [in, optional] VARIANT *varOptions);
14235
14236     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
14237     void showHelp(
14238             [in] BSTR helpURL,
14239             [in, optional] VARIANT helpArg,
14240             [in, defaultvalue("")] BSTR features);
14241
14242     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
14243     IHTMLScreen *screen();
14244
14245     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
14246     IHTMLOptionElementFactory *Option();
14247
14248     [id(DISPID_IHTMLWINDOW2_FOCUS)]
14249     void focus();
14250
14251     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
14252     VARIANT_BOOL closed();
14253
14254     [id(DISPID_IHTMLWINDOW2_BLUR)]
14255     void blur();
14256
14257     [id(DISPID_IHTMLWINDOW2_SCROLL)]
14258     void scroll([in] LONG x, [in] LONG y);
14259
14260     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
14261     IOmNavigator *clientInformation();
14262
14263     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
14264     void clearInterval([in] LONG timerID);
14265
14266     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14267     void offscreenBuffering(VARIANT v);
14268
14269     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14270     VARIANT offscreenBuffering();
14271
14272     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
14273     VARIANT execScript(
14274             [in] BSTR _code,
14275             [in, defaultvalue("JScript")] BSTR language);
14276
14277     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
14278     BSTR toString();
14279
14280     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
14281     void scrollBy([in] LONG x, [in] LONG y);
14282
14283     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
14284     void scrollTo([in] LONG x, [in] LONG y);
14285
14286     [id(DISPID_IHTMLWINDOW2_MOVETO)]
14287     void moveTo([in] LONG x, [in] LONG y);
14288
14289     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
14290     void moveBy([in] LONG x, [in] LONG y);
14291
14292     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
14293     void resizeTo([in] LONG x, [in] LONG y);
14294
14295     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
14296     void resizeBy([in] LONG x, [in] LONG y);
14297
14298     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
14299     IDispatch *external();
14300
14301     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
14302     LONG screenLeft();
14303
14304     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
14305     LONG screenTop();
14306
14307     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
14308     VARIANT_BOOL attachEvent(
14309              [in] BSTR event,
14310              [in] IDispatch *pDisp);
14311
14312     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
14313     void detachEvent(
14314             [in] BSTR event,
14315             [in] IDispatch *pDisp);
14316
14317     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
14318     LONG setTimeout(
14319             [in] VARIANT *expression,
14320             [in] LONG msec,
14321             [in, optional] VARIANT *language);
14322
14323     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
14324     LONG setInterval(
14325             [in] VARIANT *expression,
14326             [in] LONG msec,
14327             [in, optional] VARIANT *language);
14328
14329     [id(DISPID_IHTMLWINDOW3_PRINT)]
14330     void print();
14331
14332     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14333     void onbeforeprint(VARIANT v);
14334
14335     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14336     VARIANT onbeforeprint();
14337
14338     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14339     void onafterprint(VARIANT v);
14340
14341     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14342     VARIANT onafterprint();
14343
14344     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
14345     IHTMLDataTransfer *clipboardData();
14346
14347     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
14348     IHTMLWindow2 *showModelessDialog(
14349             [in, defaultvalue("")] BSTR url,
14350             [in, optional] VARIANT *varArgIn,
14351             [in, optional] VARIANT *options);
14352
14353     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
14354     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
14355
14356     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
14357     IHTMLFrameBase *frameElement();
14358 }
14359
14360 /*****************************************************************************
14361  *    DispHTMLWindowProxy dispinterface
14362  */
14363 [
14364     hidden,
14365     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
14366 ]
14367 dispinterface DispHTMLWindowProxy
14368 {
14369 properties:
14370 methods:
14371     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
14372     VARIANT item([in] VARIANT* pvarIndex);
14373
14374     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
14375     LONG length();
14376
14377     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
14378     IHTMLFramesCollection2* frames();
14379
14380     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
14381     void defaultStatus(BSTR v);
14382
14383     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
14384     BSTR defaultStatus();
14385
14386     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
14387     void status(BSTR v);
14388
14389     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
14390     BSTR status();
14391
14392     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
14393     void clearTimeout([in] LONG timerID);
14394
14395     [id(DISPID_IHTMLWINDOW2_ALERT)]
14396     void alert([defaultvalue(""), in] BSTR message);
14397
14398     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
14399     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
14400
14401     [id(DISPID_IHTMLWINDOW2_PROMPT)]
14402     VARIANT prompt([defaultvalue(""), in] BSTR message,
14403                    [defaultvalue("undefined"), in] BSTR defstr);
14404
14405     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
14406     IHTMLImageElementFactory* Image();
14407
14408     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
14409     IHTMLLocation* location();
14410
14411     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
14412     IOmHistory* history();
14413
14414     [id(DISPID_IHTMLWINDOW2_CLOSE)]
14415     void close();
14416
14417     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
14418     void opener(VARIANT v);
14419
14420     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
14421     VARIANT opener();
14422
14423     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
14424     IOmNavigator* navigator();
14425
14426     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
14427     void name(BSTR v);
14428
14429     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
14430     BSTR name();
14431
14432     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
14433     IHTMLWindow2* parent();
14434
14435     [id(DISPID_IHTMLWINDOW2_OPEN)]
14436     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
14437                        [defaultvalue(""), in] BSTR name,
14438                        [defaultvalue(""), in] BSTR features,
14439                        [defaultvalue(0), in] VARIANT_BOOL replace);
14440
14441     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
14442     IHTMLWindow2* self();
14443
14444     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
14445     IHTMLWindow2* top();
14446
14447     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
14448     IHTMLWindow2* window();
14449
14450     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
14451     void navigate([in] BSTR url);
14452
14453     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14454     void onfocus(VARIANT v);
14455
14456     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14457     VARIANT onfocus();
14458
14459     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14460     void onblur(VARIANT v);
14461
14462     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14463     VARIANT onblur();
14464
14465     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
14466     void onload(VARIANT v);
14467
14468     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
14469     VARIANT onload();
14470
14471     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14472     void onbeforeunload(VARIANT v);
14473
14474     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14475     VARIANT onbeforeunload();
14476
14477     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14478     void onunload(VARIANT v);
14479
14480     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14481     VARIANT onunload();
14482
14483     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14484     void onhelp(VARIANT v);
14485
14486     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14487     VARIANT onhelp();
14488
14489     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14490     void onerror(VARIANT v);
14491
14492     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14493     VARIANT onerror();
14494
14495     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14496     void onresize(VARIANT v);
14497
14498     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14499     VARIANT onresize();
14500
14501     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14502     void onscroll(VARIANT v);
14503
14504     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14505     VARIANT onscroll();
14506
14507     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
14508     IHTMLDocument2* document();
14509
14510     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
14511     IHTMLEventObj* event();
14512
14513     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
14514     IUnknown* _newEnum();
14515
14516     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
14517     VARIANT showModalDialog([in] BSTR dialog,
14518                             [optional, in] VARIANT* varArgIn,
14519                             [optional, in] VARIANT* varOptions);
14520
14521     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
14522     void showHelp([in] BSTR helpURL,
14523                   [optional, in] VARIANT helpArg,
14524                   [defaultvalue(""), in] BSTR features);
14525
14526     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
14527     IHTMLScreen* screen();
14528
14529     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
14530     IHTMLOptionElementFactory* Option();
14531
14532     [id(DISPID_IHTMLWINDOW2_FOCUS)]
14533     void focus();
14534
14535     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
14536     VARIANT_BOOL closed();
14537
14538     [id(DISPID_IHTMLWINDOW2_BLUR)]
14539     void blur();
14540
14541     [id(DISPID_IHTMLWINDOW2_SCROLL)]
14542     void scroll([in] LONG x,
14543                 [in] LONG y);
14544
14545     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
14546     IOmNavigator* clientInformation();
14547
14548     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
14549     void clearInterval([in] LONG timerID);
14550
14551     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14552     void offscreenBuffering(VARIANT v);
14553
14554     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14555     VARIANT offscreenBuffering();
14556
14557     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
14558     VARIANT execScript([in] BSTR code,
14559                        [defaultvalue("JScript"), in] BSTR language);
14560
14561     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
14562     BSTR toString();
14563
14564     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
14565     void scrollBy([in] LONG x,
14566                   [in] LONG y);
14567
14568     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
14569     void scrollTo([in] LONG x,
14570                   [in] LONG y);
14571
14572     [id(DISPID_IHTMLWINDOW2_MOVETO)]
14573     void moveTo([in] LONG x,
14574                 [in] LONG y);
14575
14576     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
14577     void moveBy([in] LONG x,
14578                 [in] LONG y);
14579
14580     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
14581     void resizeTo([in] LONG x,
14582                   [in] LONG y);
14583
14584     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
14585     void resizeBy([in] LONG x,
14586                   [in] LONG y);
14587
14588     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
14589     IDispatch* external();
14590
14591     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
14592     LONG screenLeft();
14593
14594     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
14595     LONG screenTop();
14596
14597     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
14598     VARIANT_BOOL attachEvent([in] BSTR event,
14599                              [in] IDispatch* pDisp);
14600
14601     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
14602     void detachEvent([in] BSTR event,
14603                      [in] IDispatch* pDisp);
14604
14605     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
14606     LONG setTimeout([in] VARIANT* expression,
14607                     [in] LONG msec,
14608                     [optional, in] VARIANT* language);
14609
14610     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
14611     LONG setInterval([in] VARIANT* expression,
14612                      [in] LONG msec,
14613                      [optional, in] VARIANT* language);
14614
14615     [id(DISPID_IHTMLWINDOW3_PRINT)]
14616     void print();
14617
14618     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14619     void onbeforeprint(VARIANT v);
14620
14621     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14622     VARIANT onbeforeprint();
14623
14624     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14625     void onafterprint(VARIANT v);
14626
14627     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14628     VARIANT onafterprint();
14629
14630     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
14631     IHTMLDataTransfer* clipboardData();
14632
14633     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
14634     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
14635                                      [optional, in] VARIANT* varArgIn,
14636                                      [optional, in] VARIANT* options);
14637
14638     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
14639     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
14640
14641     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
14642     IHTMLFrameBase* frameElement();
14643
14644     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
14645     void XMLHttpRequest(VARIANT v);
14646
14647     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
14648     VARIANT XMLHttpRequest();
14649 };
14650
14651 /*****************************************************************************
14652  *    HTMLWindowEvents interface
14653  */
14654 [
14655     hidden,
14656     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
14657 ]
14658 dispinterface HTMLWindowEvents
14659 {
14660 properties:
14661 methods:
14662     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
14663     void onload();
14664
14665     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
14666     void onunload();
14667
14668     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
14669     VARIANT_BOOL onhelp();
14670
14671     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
14672     void onfocus();
14673
14674     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
14675     void onblur();
14676
14677     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
14678     void onerror([in] BSTR description,
14679                  [in] BSTR url,
14680                  [in] LONG line);
14681
14682     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
14683     void onresize();
14684
14685     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
14686     void onscroll();
14687
14688     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
14689     void onbeforeunload();
14690
14691     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
14692     void onbeforeprint();
14693
14694     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
14695     void onafterprint();
14696 };
14697
14698 /*****************************************************************************
14699  *    HTMLWindowEvents2 interface
14700  */
14701 [
14702     hidden,
14703     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
14704 ]
14705 dispinterface HTMLWindowEvents2
14706 {
14707 properties:
14708 methods:
14709     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
14710     void onload([in] IHTMLEventObj* pEvtObj);
14711
14712     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
14713     void onunload([in] IHTMLEventObj* pEvtObj);
14714
14715     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
14716     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14717
14718     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
14719     void onfocus([in] IHTMLEventObj* pEvtObj);
14720
14721     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
14722     void onblur([in] IHTMLEventObj* pEvtObj);
14723
14724     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
14725     void onerror([in] BSTR description,
14726                  [in] BSTR url,
14727                  [in] LONG line);
14728
14729     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
14730     void onresize([in] IHTMLEventObj* pEvtObj);
14731
14732     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
14733     void onscroll([in] IHTMLEventObj* pEvtObj);
14734
14735     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
14736     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
14737
14738     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
14739     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
14740
14741     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
14742     void onafterprint([in] IHTMLEventObj* pEvtObj);
14743 };
14744
14745 /*****************************************************************************
14746  *    HTMLWindowProxy class
14747  */
14748 [
14749     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
14750 ]
14751 coclass HTMLWindowProxy
14752 {
14753     [default]           dispinterface DispHTMLWindowProxy;
14754     [source, default]   dispinterface HTMLWindowEvents;
14755     [source]            dispinterface HTMLWindowEvents2;
14756                         interface IHTMLWindow2;
14757                         interface IHTMLWindow3;
14758                         interface IHTMLWindow4;
14759                         interface IHTMLWindow5;
14760 };
14761
14762 /*****************************************************************************
14763  *    HTMLDocumentEvents2 interface
14764  */
14765 [
14766     hidden,
14767     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
14768 ]
14769 dispinterface HTMLDocumentEvents2
14770 {
14771     properties:
14772     methods:
14773     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
14774     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
14775
14776     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
14777     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
14778
14779     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
14780     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
14781
14782     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
14783     void onkeydown([in] IHTMLEventObj *pEvtObj);
14784
14785     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
14786     void onkeyup([in] IHTMLEventObj *pEvtObj);
14787
14788     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
14789     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
14790
14791     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
14792     void onmousedown([in] IHTMLEventObj *pEvtObj);
14793
14794     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
14795     void onmousemove([in] IHTMLEventObj *pEvtObj);
14796
14797     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
14798     void onmouseup([in] IHTMLEventObj *pEvtObj);
14799
14800     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
14801     void onmouseout([in] IHTMLEventObj *pEvtObj);
14802
14803     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
14804     void onmouseover([in] IHTMLEventObj *pEvtObj);
14805
14806     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
14807     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
14808
14809     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
14810     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
14811
14812     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
14813     void onafterupdate([in] IHTMLEventObj *pEvtObj);
14814
14815     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
14816     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
14817
14818     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
14819     void onrowenter([in] IHTMLEventObj *pEvtObj);
14820
14821     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
14822     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
14823
14824     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
14825     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
14826
14827     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
14828     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
14829
14830     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
14831     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
14832
14833     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
14834     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
14835
14836     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
14837     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
14838
14839     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
14840     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
14841
14842     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
14843     void oncellchange([in] IHTMLEventObj *pEvtObj);
14844
14845     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
14846     void onpropertychange([in] IHTMLEventObj *pEvtObj);
14847
14848     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
14849     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
14850
14851     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
14852     void ondataavailable([in] IHTMLEventObj *pEvtObj);
14853
14854     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
14855     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
14856
14857     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
14858     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
14859
14860     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
14861     void onselectionchange([in] IHTMLEventObj *pEvtObj);
14862
14863     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
14864     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
14865
14866     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
14867     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
14868
14869     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
14870     void onfocusin([in] IHTMLEventObj *pEvtObj);
14871
14872     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
14873     void onfocusout([in] IHTMLEventObj *pEvtObj);
14874
14875     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
14876     void onactivate([in] IHTMLEventObj *pEvtObj);
14877
14878     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
14879     void ondeactivate([in] IHTMLEventObj *pEvtObj);
14880
14881     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
14882     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
14883
14884     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
14885     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
14886 }
14887
14888 /*****************************************************************************
14889  *    HTMLDocumentEvents interface
14890  */
14891 [
14892     hidden,
14893     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
14894 ]
14895 dispinterface HTMLDocumentEvents
14896 {
14897     properties:
14898     methods:
14899     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
14900     VARIANT_BOOL onhelp();
14901
14902     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
14903     VARIANT_BOOL onclick();
14904
14905     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
14906     VARIANT_BOOL ondblclick();
14907
14908     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
14909     void onkeydown();
14910
14911     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
14912     void onkeyup();
14913
14914     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
14915     VARIANT_BOOL onkeypress();
14916
14917     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
14918     void onmousedown();
14919
14920     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
14921     void onmousemove();
14922
14923     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
14924     void onmouseup();
14925
14926     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
14927     void onmouseout();
14928
14929     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
14930     void onmouseover();
14931
14932     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
14933     void onreadystatechange();
14934
14935     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
14936     VARIANT_BOOL onbeforeupdate();
14937
14938     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
14939     void onafterupdate();
14940
14941     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
14942     VARIANT_BOOL onrowexit();
14943
14944     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
14945     void onrowenter();
14946
14947     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
14948     VARIANT_BOOL ondragstart();
14949
14950     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
14951     VARIANT_BOOL onselectstart();
14952
14953     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
14954     VARIANT_BOOL onerrorupdate();
14955
14956     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
14957     VARIANT_BOOL oncontextmenu();
14958
14959     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
14960     VARIANT_BOOL onstop();
14961
14962     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
14963     void onrowsdelete();
14964
14965     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
14966     void onrowsinserted();
14967
14968     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
14969     void oncellchange();
14970
14971     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
14972     void onpropertychange();
14973
14974     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
14975     void ondatasetchanged();
14976
14977     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
14978     void ondataavailable();
14979
14980     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
14981     void ondatasetcomplete();
14982
14983     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
14984     void onbeforeeditfocus();
14985
14986     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
14987     void onselectionchange();
14988
14989     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
14990     VARIANT_BOOL oncontrolselect();
14991
14992     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
14993     VARIANT_BOOL onmousewheel();
14994
14995     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
14996     void onfocusin();
14997
14998     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
14999     void onfocusout();
15000
15001     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
15002     void onactivate();
15003
15004     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
15005     void ondeactivate();
15006
15007     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
15008     VARIANT_BOOL onbeforeactivate();
15009
15010     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
15011     VARIANT_BOOL onbeforedeactivate();
15012 }
15013
15014 /*****************************************************************************
15015  *    HTMLTextContainerEvents interface
15016  */
15017 [
15018     hidden,
15019     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
15020 ]
15021 dispinterface HTMLTextContainerEvents
15022 {
15023 properties:
15024
15025 methods:
15026     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
15027     VARIANT_BOOL onhelp();
15028
15029     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
15030     VARIANT_BOOL onclick();
15031
15032     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
15033     VARIANT_BOOL ondblclick();
15034
15035     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
15036     VARIANT_BOOL onkeypress();
15037
15038     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
15039     void onkeydown();
15040
15041     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
15042     void onkeyup();
15043
15044     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
15045     void onmouseout();
15046
15047     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
15048     void onmouseover();
15049
15050     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
15051     void onmousemove();
15052
15053     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
15054     void onmousedown();
15055
15056     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
15057     void onmouseup();
15058
15059     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
15060     VARIANT_BOOL onselectstart();
15061
15062     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
15063     void onfilterchange();
15064
15065     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
15066     VARIANT_BOOL ondragstart();
15067
15068     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
15069     VARIANT_BOOL onbeforeupdate();
15070
15071     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
15072     void onafterupdate();
15073
15074     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
15075     VARIANT_BOOL onerrorupdate();
15076
15077     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
15078     VARIANT_BOOL onrowexit();
15079
15080     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
15081     void onrowenter();
15082
15083     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
15084     void ondatasetchanged();
15085
15086     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
15087     void ondataavailable();
15088
15089     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
15090     void ondatasetcomplete();
15091
15092     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
15093     void onlosecapture();
15094
15095     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
15096     void onpropertychange();
15097
15098     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
15099     void onscroll();
15100
15101     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
15102     void onfocus();
15103
15104     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
15105     void onblur();
15106
15107     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
15108     void onresize();
15109
15110     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
15111     VARIANT_BOOL ondrag();
15112
15113     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
15114     void ondragend();
15115
15116     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
15117     VARIANT_BOOL ondragenter();
15118
15119     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
15120     VARIANT_BOOL ondragover();
15121
15122     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
15123     void ondragleave();
15124
15125     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
15126     VARIANT_BOOL ondrop();
15127
15128     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
15129     VARIANT_BOOL onbeforecut();
15130
15131     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
15132     VARIANT_BOOL oncut();
15133
15134     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
15135     VARIANT_BOOL onbeforecopy();
15136
15137     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
15138     VARIANT_BOOL oncopy();
15139
15140     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
15141     VARIANT_BOOL onbeforepaste();
15142
15143     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
15144     VARIANT_BOOL onpaste();
15145
15146     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
15147     VARIANT_BOOL oncontextmenu();
15148
15149     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
15150     void onrowsdelete();
15151
15152     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
15153     void onrowsinserted();
15154
15155     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
15156     void oncellchange();
15157
15158     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
15159     void onreadystatechange();
15160
15161     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
15162     void onbeforeeditfocus();
15163
15164     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
15165     void onlayoutcomplete();
15166
15167     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
15168     void onpage();
15169
15170     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
15171     VARIANT_BOOL onbeforedeactivate();
15172
15173     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
15174     VARIANT_BOOL onbeforeactivate();
15175
15176     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
15177     void onmove();
15178
15179     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
15180     VARIANT_BOOL oncontrolselect();
15181
15182     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
15183     VARIANT_BOOL onmovestart();
15184
15185     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
15186     void onmoveend();
15187
15188     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
15189     VARIANT_BOOL onresizestart();
15190
15191     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
15192     void onresizeend();
15193
15194     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
15195     void onmouseenter();
15196
15197     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
15198     void onmouseleave();
15199
15200     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
15201     VARIANT_BOOL onmousewheel();
15202
15203     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
15204     void onactivate();
15205
15206     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
15207     void ondeactivate();
15208
15209     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
15210     void onfocusin();
15211
15212     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
15213     void onfocusout();
15214
15215     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
15216     void onchange();
15217
15218     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
15219     void onselect();
15220 };
15221
15222 /*****************************************************************************
15223  *    HTMLTextContainerEvents2 interface
15224  */
15225 [
15226     hidden,
15227     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
15228 ]
15229 dispinterface HTMLTextContainerEvents2
15230 {
15231 properties:
15232 methods:
15233     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
15234     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
15235
15236     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
15237     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
15238
15239     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
15240     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
15241
15242     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
15243     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
15244
15245     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
15246     void onkeydown([in] IHTMLEventObj* pEvtObj);
15247
15248     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
15249     void onkeyup([in] IHTMLEventObj* pEvtObj);
15250
15251     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
15252     void onmouseout([in] IHTMLEventObj* pEvtObj);
15253
15254     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
15255     void onmouseover([in] IHTMLEventObj* pEvtObj);
15256
15257     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
15258     void onmousemove([in] IHTMLEventObj* pEvtObj);
15259
15260     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
15261     void onmousedown([in] IHTMLEventObj* pEvtObj);
15262
15263     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
15264     void onmouseup([in] IHTMLEventObj* pEvtObj);
15265
15266     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
15267     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
15268
15269     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
15270     void onfilterchange([in] IHTMLEventObj* pEvtObj);
15271
15272     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
15273     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
15274
15275     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
15276     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
15277
15278     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
15279     void onafterupdate([in] IHTMLEventObj* pEvtObj);
15280
15281     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
15282     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
15283
15284     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
15285     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
15286
15287     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
15288     void onrowenter([in] IHTMLEventObj* pEvtObj);
15289
15290     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
15291     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
15292
15293     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
15294     void ondataavailable([in] IHTMLEventObj* pEvtObj);
15295
15296     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
15297     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
15298
15299     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
15300     void onlosecapture([in] IHTMLEventObj* pEvtObj);
15301
15302     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
15303     void onpropertychange([in] IHTMLEventObj* pEvtObj);
15304
15305     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
15306     void onscroll([in] IHTMLEventObj* pEvtObj);
15307
15308     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
15309     void onfocus([in] IHTMLEventObj* pEvtObj);
15310
15311     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
15312     void onblur([in] IHTMLEventObj* pEvtObj);
15313
15314     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
15315     void onresize([in] IHTMLEventObj* pEvtObj);
15316
15317     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
15318     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
15319
15320     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
15321     void ondragend([in] IHTMLEventObj* pEvtObj);
15322
15323     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
15324     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
15325
15326     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
15327     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
15328
15329     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
15330     void ondragleave([in] IHTMLEventObj* pEvtObj);
15331
15332     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
15333     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
15334
15335     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
15336     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
15337
15338     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
15339     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
15340
15341     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
15342     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
15343
15344     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
15345     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
15346
15347     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
15348     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
15349
15350     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
15351     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
15352
15353     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
15354     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
15355
15356     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
15357     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
15358
15359     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
15360     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
15361
15362     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
15363     void oncellchange([in] IHTMLEventObj* pEvtObj);
15364
15365     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
15366     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
15367
15368     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
15369     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
15370
15371     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
15372     void onpage([in] IHTMLEventObj* pEvtObj);
15373
15374     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
15375     void onmouseenter([in] IHTMLEventObj* pEvtObj);
15376
15377     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
15378     void onmouseleave([in] IHTMLEventObj* pEvtObj);
15379
15380     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
15381     void onactivate([in] IHTMLEventObj* pEvtObj);
15382
15383     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
15384     void ondeactivate([in] IHTMLEventObj* pEvtObj);
15385
15386     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
15387     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
15388
15389     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
15390     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
15391
15392     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
15393     void onfocusin([in] IHTMLEventObj* pEvtObj);
15394
15395     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
15396     void onfocusout([in] IHTMLEventObj* pEvtObj);
15397
15398     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
15399     void onmove([in] IHTMLEventObj* pEvtObj);
15400
15401     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
15402     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
15403
15404     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
15405     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
15406
15407     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
15408     void onmoveend([in] IHTMLEventObj* pEvtObj);
15409
15410     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
15411     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
15412
15413     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
15414     void onresizeend([in] IHTMLEventObj* pEvtObj);
15415
15416     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
15417     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
15418
15419     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
15420     void onchange([in] IHTMLEventObj* pEvtObj);
15421
15422     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
15423     void onselect([in] IHTMLEventObj* pEvtObj);
15424 };
15425
15426 /*****************************************************************************
15427  *    IHTMLDocument interface
15428  */
15429 [
15430     odl,
15431     oleautomation,
15432     dual,
15433     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
15434 ]
15435 interface IHTMLDocument : IDispatch
15436 {
15437     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
15438     HRESULT Script([retval, out] IDispatch **p);
15439 }
15440
15441 /*****************************************************************************
15442  *    IHTMLDocument2 interface
15443  */
15444 [
15445     odl,
15446     oleautomation,
15447     dual,
15448     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
15449 ]
15450 interface IHTMLDocument2 : IHTMLDocument
15451 {
15452     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
15453     HRESULT all([retval, out] IHTMLElementCollection **p);
15454
15455     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
15456     HRESULT body([retval, out] IHTMLElement **p);
15457
15458     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
15459     HRESULT activeElement([retval, out] IHTMLElement **p);
15460
15461     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
15462     HRESULT images([retval, out] IHTMLElementCollection **p);
15463
15464     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
15465     HRESULT applets([retval, out] IHTMLElementCollection **p);
15466
15467     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
15468     HRESULT links([retval, out] IHTMLElementCollection **p);
15469
15470     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
15471     HRESULT forms([retval, out] IHTMLElementCollection **p);
15472
15473     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
15474     HRESULT anchors([retval, out] IHTMLElementCollection **p);
15475
15476     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15477     HRESULT title([in] BSTR v);
15478
15479     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15480     HRESULT title([retval, out] BSTR *p);
15481
15482     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
15483     HRESULT scripts([retval, out] IHTMLElementCollection **p);
15484
15485     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
15486     HRESULT designMode([in] BSTR v);
15487
15488     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
15489     HRESULT designMode([retval, out] BSTR *p);
15490
15491     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
15492     HRESULT selection([retval, out] IHTMLSelectionObject **p);
15493
15494     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
15495      HRESULT readyState([retval, out] BSTR *p);
15496
15497     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
15498     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
15499
15500     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
15501     HRESULT embeds([retval, out] IHTMLElementCollection **p);
15502
15503     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
15504     HRESULT plugins([retval, out] IHTMLElementCollection **p);
15505
15506     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15507     HRESULT alinkColor([in] VARIANT v);
15508
15509     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15510     HRESULT alinkColor([retval, out] VARIANT *p);
15511
15512     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15513     HRESULT bgColor([in] VARIANT v);
15514
15515     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15516     HRESULT bgColor([retval, out] VARIANT *p);
15517
15518     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15519     HRESULT fgColor([in] VARIANT v);
15520
15521     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15522     HRESULT fgColor([retval, out] VARIANT *p);
15523
15524     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15525     HRESULT linkColor([in] VARIANT v);
15526
15527     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15528     HRESULT linkColor([retval, out] VARIANT *p);
15529
15530     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15531     HRESULT vlinkColor([in] VARIANT v);
15532
15533     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15534     HRESULT vlinkColor([retval, out] VARIANT *p);
15535
15536     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
15537     HRESULT referrer([retval, out] BSTR *p);
15538
15539     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
15540     HRESULT location([retval, out] IHTMLLocation **p);
15541
15542     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
15543     HRESULT lastModified([retval, out] BSTR *p);
15544
15545     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
15546     HRESULT URL([in] BSTR v);
15547
15548     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
15549     HRESULT URL([retval, out] BSTR *p);
15550
15551     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15552     HRESULT domain([in] BSTR v);
15553
15554     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15555     HRESULT domain([retval, out] BSTR *p);
15556
15557     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15558     HRESULT cookie([in] BSTR v);
15559
15560     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15561     HRESULT cookie([retval, out] BSTR *p);
15562
15563     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
15564     HRESULT expando([in] VARIANT_BOOL v);
15565
15566     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
15567     HRESULT expando([retval, out] VARIANT_BOOL *p);
15568
15569     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
15570      HRESULT charset([in] BSTR v);
15571
15572     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
15573     HRESULT charset([retval, out] BSTR *p);
15574
15575     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15576     HRESULT defaultCharset([in] BSTR v);
15577
15578     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15579     HRESULT defaultCharset([retval, out] BSTR *p);
15580
15581     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
15582     HRESULT mimeType([retval, out] BSTR *p);
15583
15584     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
15585     HRESULT fileSize([retval, out] BSTR *p);
15586
15587     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
15588     HRESULT fileCreatedDate([retval, out] BSTR *p);
15589
15590     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
15591     HRESULT fileModifiedDate([retval, out] BSTR *p);
15592
15593     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
15594     HRESULT fileUpdatedDate([retval, out] BSTR *p);
15595
15596     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
15597     HRESULT security([retval, out] BSTR *p);
15598
15599     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
15600     HRESULT protocol([retval, out] BSTR *p);
15601
15602     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
15603      HRESULT nameProp([retval, out] BSTR *p);
15604
15605     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
15606     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
15607
15608     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
15609     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
15610
15611     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
15612     HRESULT open(
15613         [defaultvalue("text/html"), in] BSTR url,
15614         [optional, in] VARIANT name,
15615         [optional, in] VARIANT features,
15616         [optional, in] VARIANT replace,
15617         [retval, out]  IDispatch **pomWindowResult);
15618
15619     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
15620     HRESULT close();
15621
15622     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
15623     HRESULT clear();
15624
15625     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
15626     HRESULT queryCommandSupported(
15627         [in] BSTR cmdID,
15628         [retval, out] VARIANT_BOOL *pfRet);
15629
15630     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
15631     HRESULT queryCommandEnabled(
15632         [in] BSTR cmdID,
15633         [retval, out] VARIANT_BOOL *pfRet);
15634
15635     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
15636     HRESULT queryCommandState(
15637         [in] BSTR cmdID,
15638         [retval, out] VARIANT_BOOL *pfRet);
15639
15640     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
15641     HRESULT queryCommandIndeterm(
15642         [in] BSTR cmdID,
15643         [retval, out] VARIANT_BOOL *pfRet);
15644
15645     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
15646     HRESULT queryCommandText(
15647         [in] BSTR cmdID,
15648         [retval, out] BSTR *pcmdText);
15649
15650     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
15651     HRESULT queryCommandValue(
15652         [in] BSTR cmdID,
15653         [retval, out] VARIANT *pcmdValue);
15654
15655     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
15656     HRESULT execCommand(
15657         [in] BSTR cmdID,
15658         [defaultvalue(0), in] VARIANT_BOOL showUI,
15659         [optional, in] VARIANT value,
15660         [retval, out] VARIANT_BOOL *pfRet);
15661
15662     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
15663     HRESULT execCommandShowHelp(
15664         [in] BSTR cmdID,
15665         [retval, out] VARIANT_BOOL *pfRet);
15666
15667     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
15668      HRESULT createElement(
15669         [in] BSTR eTag,
15670         [retval, out] IHTMLElement **newElem);
15671
15672     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
15673     HRESULT onhelp([in] VARIANT v);
15674
15675     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
15676     HRESULT onhelp([retval, out] VARIANT *p);
15677
15678     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
15679     HRESULT onclick([in] VARIANT v);
15680
15681     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
15682     HRESULT onclick([retval, out] VARIANT *p);
15683
15684     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
15685     HRESULT ondblclick([in] VARIANT v);
15686
15687     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
15688     HRESULT ondblclick([retval, out] VARIANT *p);
15689
15690     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
15691     HRESULT onkeyup([in] VARIANT v);
15692
15693     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
15694     HRESULT onkeyup([retval, out] VARIANT *p);
15695
15696     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
15697     HRESULT onkeydown([in] VARIANT v);
15698
15699     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
15700     HRESULT onkeydown([retval, out] VARIANT *p);
15701
15702     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
15703      HRESULT onkeypress([in] VARIANT v);
15704
15705     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
15706     HRESULT onkeypress([retval, out] VARIANT *p);
15707
15708     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
15709     HRESULT onmouseup([in] VARIANT v);
15710
15711     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
15712     HRESULT onmouseup([retval, out] VARIANT *p);
15713
15714     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
15715     HRESULT onmousedown([in] VARIANT v);
15716
15717     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
15718     HRESULT onmousedown([retval, out] VARIANT *p);
15719
15720     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
15721     HRESULT onmousemove([in] VARIANT v);
15722
15723     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
15724     HRESULT onmousemove([retval, out] VARIANT *p);
15725
15726     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
15727     HRESULT onmouseout([in] VARIANT v);
15728
15729     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
15730     HRESULT onmouseout([retval, out] VARIANT *p);
15731
15732     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
15733     HRESULT onmouseover([in] VARIANT v);
15734
15735     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
15736     HRESULT onmouseover([retval, out] VARIANT *p);
15737
15738     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
15739     HRESULT onreadystatechange([in] VARIANT v);
15740
15741     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
15742     HRESULT onreadystatechange([retval, out] VARIANT *p);
15743
15744     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
15745     HRESULT onafterupdate([in] VARIANT v);
15746
15747     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
15748     HRESULT onafterupdate([retval, out] VARIANT *p);
15749
15750     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
15751     HRESULT onrowexit([in] VARIANT v);
15752
15753     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
15754     HRESULT onrowexit([retval, out] VARIANT *p);
15755
15756     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
15757     HRESULT onrowenter([in] VARIANT v);
15758
15759     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
15760     HRESULT onrowenter([retval, out] VARIANT *p);
15761
15762     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
15763     HRESULT ondragstart([in] VARIANT v);
15764
15765     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
15766     HRESULT ondragstart([retval, out] VARIANT *p);
15767
15768     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
15769     HRESULT onselectstart([in] VARIANT v);
15770
15771     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
15772     HRESULT onselectstart([retval, out] VARIANT *p);
15773
15774     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
15775     HRESULT elementFromPoint(
15776         [in] LONG x,
15777         [in] LONG y,
15778         [retval, out] IHTMLElement **elementHit);
15779
15780     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
15781     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
15782
15783     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
15784     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
15785
15786     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
15787     HRESULT onbeforeupdate([in] VARIANT v);
15788
15789     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
15790     HRESULT onbeforeupdate([retval, out] VARIANT *p);
15791
15792     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
15793     HRESULT onerrorupdate([in] VARIANT v);
15794
15795     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
15796     HRESULT onerrorupdate([retval, out] VARIANT *p);
15797
15798     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
15799     HRESULT toString([retval, out] BSTR *String);
15800
15801     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
15802     HRESULT createStyleSheet(
15803         [defaultvalue(""), in] BSTR bstrHref,
15804         [defaultvalue(-1), in] LONG lIndex,
15805         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
15806 }
15807
15808 /*****************************************************************************
15809  *    IHTMLDocument3 interface
15810  */
15811 [
15812     odl,
15813     oleautomation,
15814     dual,
15815     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
15816 ]
15817 interface IHTMLDocument3 : IDispatch
15818 {
15819     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
15820     HRESULT releaseCapture();
15821
15822     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
15823     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
15824
15825     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
15826     HRESULT createTextNode(
15827         [in] BSTR text,
15828         [retval, out] IHTMLDOMNode **newTextNode);
15829
15830     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
15831     HRESULT documentElement([retval, out] IHTMLElement **p);
15832
15833     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
15834     HRESULT uniqueID([retval, out] BSTR *p);
15835
15836     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
15837     HRESULT attachEvent(
15838         [in] BSTR event,
15839         [in] IDispatch* pDisp,
15840         [retval, out] VARIANT_BOOL *pfResult);
15841
15842     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
15843     HRESULT detachEvent(
15844         [in] BSTR event,
15845         [in] IDispatch *pDisp);
15846
15847     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15848     HRESULT onrowsdelete([in] VARIANT v);
15849
15850     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15851     HRESULT onrowsdelete([retval, out] VARIANT *p);
15852
15853     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15854     HRESULT onrowsinserted([in] VARIANT v);
15855
15856     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15857     HRESULT onrowsinserted([retval, out] VARIANT *p);
15858
15859     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15860     HRESULT oncellchange([in] VARIANT v);
15861
15862     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15863     HRESULT oncellchange([retval, out] VARIANT *p);
15864
15865     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15866     HRESULT ondatasetchanged([in] VARIANT v);
15867
15868     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15869     HRESULT ondatasetchanged([retval, out] VARIANT *p);
15870
15871     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15872     HRESULT ondataavailable([in] VARIANT v);
15873
15874     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15875     HRESULT ondataavailable([retval, out] VARIANT * p);
15876
15877     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15878     HRESULT ondatasetcomplete([in] VARIANT v);
15879
15880     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15881     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
15882
15883     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15884     HRESULT onpropertychange([in] VARIANT v);
15885
15886     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15887     HRESULT onpropertychange([retval, out] VARIANT *p);
15888
15889     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
15890     HRESULT dir([in] BSTR v);
15891
15892     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
15893     HRESULT dir([retval, out] BSTR *p);
15894
15895     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15896     HRESULT oncontextmenu([in] VARIANT v);
15897
15898     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15899     HRESULT oncontextmenu([retval, out] VARIANT *p);
15900
15901     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15902     HRESULT onstop([in] VARIANT v);
15903
15904     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15905     HRESULT onstop([retval, out] VARIANT *p);
15906
15907     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
15908     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
15909
15910     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
15911     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
15912
15913     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15914     HRESULT enableDownload([in] VARIANT_BOOL v);
15915
15916     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15917     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
15918
15919     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15920     HRESULT baseUrl([in] BSTR v);
15921
15922     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15923     HRESULT baseUrl([retval, out] BSTR *p);
15924
15925     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
15926     HRESULT childNodes([retval, out] IDispatch **p);
15927
15928     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15929     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
15930
15931     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15932     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
15933
15934     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15935     HRESULT onbeforeeditfocus([in] VARIANT v);
15936
15937     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15938     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
15939
15940     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
15941     HRESULT getElementsByName(
15942         [in] BSTR v,
15943         [retval, out] IHTMLElementCollection **pelColl);
15944
15945     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
15946     HRESULT getElementById(
15947         [in] BSTR v,
15948         [retval, out] IHTMLElement **pel);
15949
15950     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
15951     HRESULT getElementsByTagName(
15952         [in] BSTR v,
15953         [retval, out] IHTMLElementCollection **pelColl);
15954 }
15955
15956 /*****************************************************************************
15957  *    IHTMLDocument4 interface
15958  */
15959 [
15960     odl,
15961     oleautomation,
15962     dual,
15963     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
15964 ]
15965 interface IHTMLDocument4 : IDispatch
15966 {
15967     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
15968     HRESULT focus();
15969
15970     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
15971     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
15972
15973     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15974     HRESULT onselectionchange([in] VARIANT v);
15975
15976     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15977     HRESULT onselectionchange([retval, out] VARIANT *p);
15978
15979     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
15980     HRESULT namespaces([retval, out] IDispatch **p);
15981
15982     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
15983     HRESULT createDocumentFromUrl(
15984         [in] BSTR bstrUrl,
15985         [in] BSTR bstrOptions,
15986         [retval, out] IHTMLDocument2 **newDoc);
15987
15988     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15989     HRESULT media([in] BSTR v);
15990
15991     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15992     HRESULT media([retval, out] BSTR *p);
15993
15994     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
15995     HRESULT createEventObject(
15996         [optional, in] VARIANT *pvarEventObject,
15997         [retval, out] IHTMLEventObj **ppEventObj);
15998
15999     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
16000     HRESULT fireEvent(
16001         [in] BSTR bstrEventName,
16002         [optional, in] VARIANT *pvarEventObject,
16003         [retval, out] VARIANT_BOOL *pfCancelled);
16004
16005     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
16006     HRESULT createRenderStyle(
16007         [in] BSTR v,
16008         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
16009
16010     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
16011     HRESULT oncontrolselect([in] VARIANT v);
16012
16013     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
16014     HRESULT oncontrolselect([retval, out] VARIANT *p);
16015
16016     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
16017     HRESULT URLUnencoded([retval, out] BSTR *p);
16018 }
16019
16020 /*****************************************************************************
16021  *    IHTMLDocument5 interface
16022  */
16023 [
16024     odl,
16025     oleautomation,
16026     dual,
16027     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
16028 ]
16029 interface IHTMLDocument5 : IDispatch
16030 {
16031     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
16032     HRESULT onmousewheel([in] VARIANT v);
16033
16034     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
16035     HRESULT onmousewheel([retval, out] VARIANT *p);
16036
16037     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
16038     HRESULT doctype([retval, out] IHTMLDOMNode **p);
16039
16040     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
16041     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
16042
16043     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
16044     HRESULT createAttribute(
16045         [in] BSTR bstrattrName,
16046         [retval, out] IHTMLDOMAttribute **ppattribute);
16047
16048     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
16049     HRESULT createComment(
16050         [in] BSTR bstrdata,
16051         [retval, out] IHTMLDOMNode **ppRetNode);
16052
16053     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16054     HRESULT onfocusin([in] VARIANT v);
16055
16056     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16057     HRESULT onfocusin([retval, out] VARIANT *p);
16058
16059     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16060     HRESULT onfocusout([in] VARIANT v);
16061
16062     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16063     HRESULT onfocusout([retval, out] VARIANT *p);
16064
16065     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16066     HRESULT onactivate([in] VARIANT v);
16067
16068     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16069     HRESULT onactivate([retval, out] VARIANT *p);
16070
16071     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16072     HRESULT ondeactivate([in] VARIANT v);
16073
16074     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16075     HRESULT ondeactivate([retval, out] VARIANT *p);
16076
16077     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16078     HRESULT onbeforeactivate([in] VARIANT v);
16079
16080     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16081     HRESULT onbeforeactivate([retval, out] VARIANT *p);
16082
16083     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16084     HRESULT onbeforedeactivate([in] VARIANT v);
16085
16086     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16087     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
16088
16089     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
16090     HRESULT compatMode([retval, out] BSTR *p);
16091 }
16092
16093 /*****************************************************************************
16094  *    DispHTMLDocument dispinterface
16095  */
16096 [
16097     hidden,
16098     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
16099 ]
16100 dispinterface DispHTMLDocument
16101 {
16102 properties:
16103 methods:
16104     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
16105     IDispatch *Script();
16106
16107     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
16108     IHTMLElementCollection *all();
16109
16110     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
16111     IHTMLElement *body();
16112
16113     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
16114     IHTMLElement *activeElement();
16115
16116     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
16117     IHTMLElementCollection *images();
16118
16119     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
16120     IHTMLElementCollection *applets();
16121
16122     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
16123     IHTMLElementCollection *links();
16124
16125     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
16126     IHTMLElementCollection *forms();
16127
16128     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
16129     IHTMLElementCollection *anchors();
16130
16131     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
16132     void title(BSTR v);
16133
16134     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
16135     BSTR title();
16136
16137     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
16138     IHTMLElementCollection *scripts();
16139
16140     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
16141     void designMode(BSTR v);
16142
16143     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
16144     BSTR designMode();
16145
16146     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
16147     IHTMLSelectionObject *selection();
16148
16149     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
16150     BSTR readyState();
16151
16152     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
16153     IHTMLFramesCollection2 *frames();
16154
16155     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
16156     IHTMLElementCollection *embeds();
16157
16158     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
16159     IHTMLElementCollection *plugins();
16160
16161     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
16162     void alinkColor(VARIANT v);
16163
16164     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
16165     VARIANT alinkColor();
16166
16167     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
16168     void bgColor(VARIANT v);
16169
16170     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
16171     VARIANT bgColor();
16172
16173     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
16174     void fgColor(VARIANT v);
16175
16176     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
16177     VARIANT fgColor();
16178
16179     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
16180     void linkColor(VARIANT v);
16181
16182     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
16183     VARIANT linkColor();
16184
16185     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
16186     void vlinkColor(VARIANT v);
16187
16188     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
16189     VARIANT vlinkColor();
16190
16191     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
16192     BSTR referrer();
16193
16194     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
16195     IHTMLLocation *location();
16196
16197     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
16198     BSTR lastModified();
16199
16200     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
16201     void URL(BSTR v);
16202
16203     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
16204     BSTR URL();
16205
16206     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
16207     void domain(BSTR v);
16208
16209     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
16210     BSTR domain();
16211
16212     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
16213     void cookie(BSTR v);
16214
16215     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
16216     BSTR cookie();
16217
16218     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
16219     void expando(VARIANT_BOOL v);
16220
16221     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
16222     VARIANT_BOOL expando();
16223
16224     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
16225     void charset(BSTR v);
16226
16227     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
16228     BSTR charset();
16229
16230     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
16231     void defaultCharset(BSTR v);
16232
16233     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
16234     BSTR defaultCharset();
16235
16236     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
16237     BSTR mimeType();
16238
16239     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
16240     BSTR fileSize();
16241
16242     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
16243     BSTR fileCreatedDate();
16244
16245     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
16246     BSTR fileModifiedDate();
16247
16248     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
16249     BSTR fileUpdatedDate();
16250
16251     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
16252     BSTR security();
16253
16254     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
16255     BSTR protocol();
16256
16257     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
16258     BSTR nameProp();
16259
16260     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
16261     void write([in] SAFEARRAY(VARIANT) psarray);
16262
16263     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
16264     void writeln([in] SAFEARRAY(VARIANT) psarray);
16265
16266     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
16267     IDispatch *open(
16268         [defaultvalue("text/html"), in] BSTR url,
16269         [optional, in] VARIANT name,
16270         [optional, in] VARIANT features,
16271         [optional, in] VARIANT replace);
16272
16273     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
16274     void close();
16275
16276     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
16277     void clear();
16278
16279     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
16280     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
16281
16282     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
16283     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
16284
16285     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
16286     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
16287
16288     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
16289     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
16290
16291     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
16292     BSTR queryCommandText([in] BSTR cmdID);
16293
16294     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
16295     VARIANT queryCommandValue([in] BSTR cmdID);
16296
16297     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
16298     VARIANT_BOOL execCommand(
16299         [in] BSTR cmdID,
16300         [defaultvalue(0), in] VARIANT_BOOL showUI,
16301         [optional, in] VARIANT value);
16302
16303     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
16304     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
16305
16306     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
16307     IHTMLElement *createElement([in] BSTR eTag);
16308
16309     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
16310     void onhelp(VARIANT v);
16311
16312     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
16313     VARIANT onhelp();
16314
16315     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
16316     void onclick(VARIANT v);
16317
16318     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
16319     VARIANT onclick();
16320
16321     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
16322     void ondblclick(VARIANT v);
16323
16324     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
16325     VARIANT ondblclick();
16326
16327     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
16328     void onkeyup(VARIANT v);
16329
16330     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
16331     VARIANT onkeyup();
16332
16333     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
16334     void onkeydown(VARIANT v);
16335
16336     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
16337     VARIANT onkeydown();
16338
16339     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
16340     void onkeypress(VARIANT v);
16341
16342     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
16343     VARIANT onkeypress();
16344
16345     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
16346     void onmouseup(VARIANT v);
16347
16348     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
16349     VARIANT onmouseup();
16350
16351     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
16352     void onmousedown(VARIANT v);
16353
16354     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
16355     VARIANT onmousedown();
16356
16357     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
16358     void onmousemove(VARIANT v);
16359
16360     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
16361     VARIANT onmousemove();
16362
16363     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
16364     void onmouseout(VARIANT v);
16365
16366     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
16367     VARIANT onmouseout();
16368
16369     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
16370     void onmouseover(VARIANT v);
16371
16372     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
16373     VARIANT onmouseover();
16374
16375     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16376     void onreadystatechange(VARIANT v);
16377
16378     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16379     VARIANT onreadystatechange();
16380
16381     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
16382     void onafterupdate(VARIANT v);
16383
16384     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
16385     VARIANT onafterupdate();
16386
16387     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
16388     void onrowexit(VARIANT v);
16389
16390     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
16391     VARIANT onrowexit();
16392
16393     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
16394     void onrowenter(VARIANT v);
16395
16396     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
16397     VARIANT onrowenter();
16398
16399     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
16400     void ondragstart(VARIANT v);
16401
16402     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
16403     VARIANT ondragstart();
16404
16405     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
16406     void onselectstart(VARIANT v);
16407
16408     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
16409     VARIANT onselectstart();
16410
16411     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
16412     IHTMLElement *elementFromPoint(
16413         [in] LONG x,
16414         [in] LONG y);
16415
16416     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
16417     IHTMLWindow2 *parentWindow();
16418
16419     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
16420     IHTMLStyleSheetsCollection *styleSheets();
16421
16422     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
16423     void onbeforeupdate(VARIANT v);
16424
16425     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
16426     VARIANT onbeforeupdate();
16427
16428     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
16429     void onerrorupdate(VARIANT v);
16430
16431     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
16432     VARIANT onerrorupdate();
16433
16434     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
16435     BSTR toString();
16436
16437     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
16438     IHTMLStyleSheet *createStyleSheet(
16439         [defaultvalue(""), in] BSTR bstrHref,
16440         [defaultvalue(-1), in] LONG lIndex);
16441
16442     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
16443     void releaseCapture();
16444
16445     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
16446     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
16447
16448     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
16449     IHTMLDOMNode *createTextNode([in] BSTR text);
16450
16451     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
16452     IHTMLElement *documentElement();
16453
16454     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
16455     BSTR uniqueID();
16456
16457     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
16458     VARIANT_BOOL attachEvent(
16459         [in] BSTR event,
16460         [in] IDispatch *pDisp);
16461
16462     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
16463     void detachEvent(
16464         [in] BSTR event,
16465         [in] IDispatch *pDisp);
16466
16467     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
16468     void onrowsdelete(VARIANT v);
16469
16470     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
16471     VARIANT onrowsdelete();
16472
16473     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
16474     void onrowsinserted(VARIANT v);
16475
16476     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
16477     VARIANT onrowsinserted();
16478
16479     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
16480     void oncellchange(VARIANT v);
16481
16482     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
16483     VARIANT oncellchange();
16484
16485     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
16486     void ondatasetchanged(VARIANT v);
16487
16488     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
16489     VARIANT ondatasetchanged();
16490
16491     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
16492     void ondataavailable(VARIANT v);
16493
16494     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
16495     VARIANT ondataavailable();
16496
16497     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
16498     void ondatasetcomplete(VARIANT v);
16499
16500     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
16501     VARIANT ondatasetcomplete();
16502
16503     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
16504     void onpropertychange(VARIANT v);
16505
16506     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
16507     VARIANT onpropertychange();
16508
16509     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
16510     void dir(BSTR v);
16511
16512     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
16513     BSTR dir();
16514
16515     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
16516     void oncontextmenu(VARIANT v);
16517
16518     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
16519     VARIANT oncontextmenu();
16520
16521     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
16522     void onstop(VARIANT v);
16523
16524     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
16525     VARIANT onstop();
16526
16527     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
16528     IHTMLDocument2 *createDocumentFragment();
16529
16530     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
16531     IHTMLDocument2 *parentDocument();
16532
16533     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
16534     void enableDownload(VARIANT_BOOL v);
16535
16536     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
16537     VARIANT_BOOL enableDownload();
16538
16539     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
16540     void baseUrl(BSTR v);
16541
16542     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
16543     BSTR baseUrl();
16544
16545     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
16546     void inheritStyleSheets(VARIANT_BOOL v);
16547
16548     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
16549     VARIANT_BOOL inheritStyleSheets();
16550
16551     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
16552     void onbeforeeditfocus(VARIANT v);
16553
16554     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
16555     VARIANT onbeforeeditfocus();
16556
16557     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
16558     IHTMLElementCollection *getElementsByName([in] BSTR v);
16559
16560     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
16561     IHTMLElement *getElementById([in] BSTR v);
16562
16563     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
16564     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
16565
16566     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
16567     void focus();
16568
16569     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
16570     VARIANT_BOOL hasFocus();
16571
16572     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
16573     void onselectionchange(VARIANT v);
16574
16575     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
16576     VARIANT onselectionchange();
16577
16578     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
16579     IDispatch *namespaces();
16580
16581     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
16582     IHTMLDocument2 *createDocumentFromUrl(
16583         [in] BSTR bstrUrl,
16584         [in] BSTR bstrOptions);
16585
16586     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
16587     void media(BSTR v);
16588
16589     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
16590     BSTR media();
16591
16592     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
16593     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
16594
16595     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
16596     VARIANT_BOOL fireEvent(
16597         [in] BSTR bstrEventName,
16598         [optional, in] VARIANT *pvarEventObject);
16599
16600     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
16601     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
16602
16603     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
16604     void oncontrolselect(VARIANT v);
16605
16606     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
16607     VARIANT oncontrolselect();
16608
16609     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
16610     BSTR URLUnencoded();
16611
16612     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
16613     void onmousewheel(VARIANT v);
16614
16615     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
16616     VARIANT onmousewheel();
16617
16618     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
16619     IHTMLDOMNode *doctype();
16620
16621     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
16622     IHTMLDOMImplementation *implementation();
16623
16624     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
16625     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
16626
16627     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
16628     IHTMLDOMNode *createComment([in] BSTR bstrdata);
16629
16630     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16631     void onfocusin(VARIANT v);
16632
16633     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16634     VARIANT onfocusin();
16635
16636     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16637     void onfocusout(VARIANT v);
16638
16639     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16640     VARIANT onfocusout();
16641
16642     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16643     void onactivate(VARIANT v);
16644
16645     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16646     VARIANT onactivate();
16647
16648     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16649     void ondeactivate(VARIANT v);
16650
16651     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16652     VARIANT ondeactivate();
16653
16654     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16655     void onbeforeactivate(VARIANT v);
16656
16657     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16658     VARIANT onbeforeactivate();
16659
16660     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16661     void onbeforedeactivate(VARIANT v);
16662
16663     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16664     VARIANT onbeforedeactivate();
16665
16666     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
16667     BSTR compatMode();
16668
16669     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
16670     LONG nodeType();
16671
16672     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
16673     IHTMLDOMNode *parentNode();
16674
16675     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
16676     VARIANT_BOOL hasChildNodes();
16677
16678     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
16679     IDispatch *childNodes();
16680
16681     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
16682     IDispatch *attributes();
16683
16684     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
16685     IHTMLDOMNode *insertBefore(
16686         [in] IHTMLDOMNode *newChild,
16687         [optional, in] VARIANT refChild);
16688
16689     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
16690     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
16691
16692     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
16693     IHTMLDOMNode *replaceChild(
16694         [in] IHTMLDOMNode *newChild,
16695         [in] IHTMLDOMNode *oldChild);
16696
16697     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
16698     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
16699
16700     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
16701     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
16702
16703     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
16704     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
16705
16706     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
16707     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
16708
16709     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
16710     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
16711
16712     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
16713     BSTR nodeName();
16714
16715     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16716     void nodeValue(VARIANT v);
16717
16718     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16719     VARIANT nodeValue();
16720
16721     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
16722     IHTMLDOMNode *firstChild();
16723
16724     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
16725     IHTMLDOMNode *lastChild();
16726
16727     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
16728     IHTMLDOMNode *previousSibling();
16729
16730     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
16731     IHTMLDOMNode *nextSibling();
16732
16733     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
16734     IDispatch *ownerDocument();
16735 }
16736
16737 /*****************************************************************************
16738  *    HTMLDocument coclass
16739  */
16740 [
16741     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
16742 ]
16743 coclass HTMLDocument
16744 {
16745     [default]         dispinterface DispHTMLDocument;
16746     [source, default] dispinterface HTMLDocumentEvents;
16747     [source]          dispinterface HTMLDocumentEvents2;
16748                       interface IHTMLDocument2;
16749                       interface IHTMLDocument3;
16750                       interface IHTMLDocument4;
16751                       interface IHTMLDocument5;
16752                       interface IHTMLDOMNode;
16753                       interface IHTMLDOMNode2;
16754 }
16755
16756 /*****************************************************************************
16757  *    IHTMLCommentElement interface
16758  */
16759 [
16760     odl,
16761     oleautomation,
16762     dual,
16763     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
16764 ]
16765 interface IHTMLCommentElement : IDispatch
16766 {
16767     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16768     HRESULT text([in] BSTR v);
16769
16770     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16771     HRESULT text([out, retval] BSTR *p);
16772
16773     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16774     HRESULT atomic([in] LONG v);
16775
16776     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16777     HRESULT atomic([out, retval] LONG *p);
16778 }
16779
16780 /*****************************************************************************
16781  *    IHTMLCommentElement2 interface
16782  */
16783 [
16784     odl,
16785     oleautomation,
16786     dual,
16787     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
16788 ]
16789 interface IHTMLCommentElement2 : IDispatch
16790 {
16791     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16792     HRESULT data([in] BSTR v);
16793
16794     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16795     HRESULT data([out, retval] BSTR *p);
16796
16797     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
16798     HRESULT length([out, retval] LONG *p);
16799
16800     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
16801     HRESULT substringData(
16802             [in] LONG offset,
16803             [in] LONG Count,
16804             [out, retval] BSTR *pbstrsubString);
16805
16806     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
16807     HRESULT appendData([in] BSTR bstrstring);
16808
16809     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
16810     HRESULT insertData(
16811             [in] LONG offset,
16812             [in] BSTR bstrstring);
16813
16814     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
16815     HRESULT deleteData(
16816             [in] LONG offset,
16817             [in] LONG Count);
16818
16819     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
16820     HRESULT replaceData(
16821             [in] LONG offset,
16822             [in] LONG Count,
16823             [in] BSTR bstrstring);
16824 }
16825
16826 /*****************************************************************************
16827  *    DispHTMLCommentElement dispinterface
16828  */
16829 [
16830     hidden,
16831     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
16832 ]
16833 dispinterface DispHTMLCommentElement
16834 {
16835 properties:
16836 methods:
16837     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
16838     void setAttribute(
16839             [in] BSTR strAttributeName,
16840             [in] VARIANT AttributeValue,
16841             [in, defaultvalue(1)] LONG lFlags);
16842
16843     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
16844     VARIANT getAttribute(
16845              [in] BSTR strAttributeName,
16846              [in, defaultvalue(0)] LONG lFlags);
16847
16848     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
16849     VARIANT_BOOL removeAttribute(
16850             [in] BSTR strAttributeName,
16851             [in, defaultvalue(1)] LONG lFlags);
16852
16853     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
16854     void className(BSTR v);
16855
16856     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
16857     BSTR className();
16858
16859     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
16860     void id(BSTR v);
16861
16862     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
16863     BSTR id();
16864
16865     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
16866     BSTR tagName();
16867
16868     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
16869     IHTMLElement *parentElement();
16870
16871     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
16872     IHTMLStyle *style();
16873
16874     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16875     void onhelp(VARIANT v);
16876
16877     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16878     VARIANT onhelp();
16879
16880     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16881     void onclick(VARIANT v);
16882
16883     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16884     VARIANT onclick();
16885
16886     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16887     void ondblclick(VARIANT v);
16888
16889     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16890     VARIANT ondblclick();
16891
16892     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16893     void onkeydown(VARIANT v);
16894
16895     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16896     VARIANT onkeydown();
16897
16898     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16899     void onkeyup(VARIANT v);
16900
16901     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16902     VARIANT onkeyup();
16903
16904     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16905     void onkeypress(VARIANT v);
16906
16907     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16908     VARIANT onkeypress();
16909
16910     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16911     void onmouseout(VARIANT v);
16912
16913     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16914     VARIANT onmouseout();
16915
16916     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16917     void onmouseover(VARIANT v);
16918
16919     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16920     VARIANT onmouseover();
16921
16922     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16923     void onmousemove(VARIANT v);
16924
16925     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16926     VARIANT onmousemove();
16927
16928     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16929     void onmousedown(VARIANT v);
16930
16931     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16932     VARIANT onmousedown();
16933
16934     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16935     void onmouseup(VARIANT v);
16936
16937     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16938     VARIANT onmouseup();
16939
16940     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
16941     IDispatch *document();
16942
16943     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16944     void title(BSTR v);
16945
16946     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16947     BSTR title();
16948
16949     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16950     void language(BSTR v);
16951
16952     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16953     BSTR language();
16954
16955     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16956     void onselectstart(VARIANT v);
16957
16958     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16959     VARIANT onselectstart();
16960
16961     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
16962     void scrollIntoView([in, optional] VARIANT varargStart);
16963
16964     [id(DISPID_IHTMLELEMENT_CONTAINS)]
16965     VARIANT_BOOL contains([in] IHTMLElement *pChild);
16966
16967     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
16968     LONG sourceIndex();
16969
16970     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
16971     VARIANT recordNumber();
16972
16973     [propput, id(DISPID_IHTMLELEMENT_LANG)]
16974     void lang(BSTR v);
16975
16976     [propget, id(DISPID_IHTMLELEMENT_LANG)]
16977     BSTR lang();
16978
16979     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
16980     LONG offsetLeft();
16981
16982     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
16983     LONG offsetTop();
16984
16985     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
16986     LONG offsetWidth();
16987
16988     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
16989     LONG offsetHeight();
16990
16991     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
16992     IHTMLElement *offsetParent();
16993
16994     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
16995     void innerHTML(BSTR v);
16996
16997     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
16998     BSTR innerHTML();
16999
17000     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
17001     void innerText(BSTR v);
17002
17003     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
17004     BSTR innerText();
17005
17006     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
17007     void outerHTML(BSTR v);
17008
17009     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
17010     BSTR outerHTML();
17011
17012     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
17013     void outerText(BSTR v);
17014
17015     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
17016     BSTR outerText();
17017
17018     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
17019     void insertAdjacentHTML(
17020             [in] BSTR where,
17021             [in] BSTR html);
17022
17023     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
17024     void insertAdjacentText(
17025             [in] BSTR where,
17026             [in] BSTR text);
17027
17028     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
17029     IHTMLElement *parentTextEdit();
17030
17031     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
17032     VARIANT_BOOL isTextEdit();
17033
17034     [id(DISPID_IHTMLELEMENT_CLICK)]
17035     void click();
17036
17037     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
17038     IHTMLFiltersCollection *filters();
17039
17040     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
17041     void ondragstart(VARIANT v);
17042
17043     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
17044     VARIANT ondragstart();
17045
17046     [id(DISPID_IHTMLELEMENT_TOSTRING)]
17047     BSTR toString();
17048
17049     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
17050     void onbeforeupdate(VARIANT v);
17051
17052     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
17053     VARIANT onbeforeupdate();
17054
17055     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
17056     void onafterupdate(VARIANT v);
17057
17058     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
17059     VARIANT onafterupdate();
17060
17061     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
17062     void onerrorupdate(VARIANT v);
17063
17064     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
17065     VARIANT onerrorupdate();
17066
17067     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
17068     void onrowexit(VARIANT v);
17069
17070     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
17071     VARIANT onrowexit();
17072
17073     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
17074     void onrowenter(VARIANT v);
17075
17076     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
17077     VARIANT onrowenter();
17078
17079     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
17080     void ondatasetchanged(VARIANT v);
17081
17082     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
17083     VARIANT ondatasetchanged();
17084
17085     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
17086     void ondataavailable(VARIANT v);
17087
17088     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
17089     VARIANT ondataavailable();
17090
17091     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
17092     void ondatasetcomplete(VARIANT v);
17093
17094     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
17095     VARIANT ondatasetcomplete();
17096
17097     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
17098     void onfilterchange(VARIANT v);
17099
17100     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
17101     VARIANT onfilterchange();
17102
17103     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
17104     IDispatch *children();
17105
17106     [propget, id(DISPID_IHTMLELEMENT_ALL)]
17107     IDispatch *all();
17108
17109     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
17110     BSTR scopeName();
17111
17112     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
17113     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
17114
17115     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
17116     void releaseCapture();
17117
17118     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
17119     void onlosecapture(VARIANT v);
17120
17121     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
17122     VARIANT onlosecapture();
17123
17124     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
17125     BSTR componentFromPoint(
17126             [in] LONG x,
17127             [in] LONG y);
17128
17129     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
17130     void doScroll([in, optional] VARIANT component);
17131
17132     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
17133     void onscroll(VARIANT v);
17134
17135     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
17136     VARIANT onscroll();
17137
17138     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
17139     void ondrag(VARIANT v);
17140
17141     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
17142     VARIANT ondrag();
17143
17144     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
17145     void ondragend(VARIANT v);
17146
17147     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
17148     VARIANT ondragend();
17149
17150     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
17151     void ondragenter(VARIANT v);
17152
17153     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
17154     VARIANT ondragenter();
17155
17156     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
17157     void ondragover(VARIANT v);
17158
17159     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
17160     VARIANT ondragover();
17161
17162     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
17163     void ondragleave(VARIANT v);
17164
17165     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
17166     VARIANT ondragleave();
17167
17168     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
17169     void ondrop(VARIANT v);
17170
17171     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
17172     VARIANT ondrop();
17173
17174     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
17175     void onbeforecut(VARIANT v);
17176
17177     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
17178     VARIANT onbeforecut();
17179
17180     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
17181     void oncut(VARIANT v);
17182
17183     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
17184     VARIANT oncut();
17185
17186     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
17187     void onbeforecopy(VARIANT v);
17188
17189     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
17190     VARIANT onbeforecopy();
17191
17192     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
17193     void oncopy(VARIANT v);
17194
17195     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
17196     VARIANT oncopy();
17197
17198     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
17199     void onbeforepaste(VARIANT v);
17200
17201     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
17202     VARIANT onbeforepaste();
17203
17204     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
17205     void onpaste(VARIANT v);
17206
17207     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
17208     VARIANT onpaste();
17209
17210     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
17211     IHTMLCurrentStyle *currentStyle();
17212
17213     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
17214     void onpropertychange(VARIANT v);
17215
17216     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
17217     VARIANT onpropertychange();
17218
17219     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
17220     IHTMLRectCollection *getClientRects();
17221
17222     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
17223     IHTMLRect *getBoundingClientRect();
17224
17225     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
17226     void setExpression(
17227             [in] BSTR propname,
17228             [in] BSTR expression,
17229             [in, defaultvalue("")] BSTR language);
17230
17231     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
17232     VARIANT getExpression([in] BSTR propname);
17233
17234     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
17235     VARIANT_BOOL removeExpression([in] BSTR propname);
17236
17237     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
17238     void tabIndex(short v);
17239
17240     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
17241     short tabIndex();
17242
17243     [id(DISPID_IHTMLELEMENT2_FOCUS)]
17244     void focus();
17245
17246     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
17247     void accessKey(BSTR v);
17248
17249     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
17250     BSTR accessKey();
17251
17252     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
17253     void onblur(VARIANT v);
17254
17255     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
17256     VARIANT onblur();
17257
17258     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
17259     void onfocus(VARIANT v);
17260
17261     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
17262     VARIANT onfocus();
17263
17264     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17265     void onresize(VARIANT v);
17266
17267     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17268     VARIANT onresize();
17269
17270     [id(DISPID_IHTMLELEMENT2_BLUR)]
17271     void blur();
17272
17273     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
17274     void addFilter([in] IUnknown *pUnk);
17275
17276     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
17277     void removeFilter([in] IUnknown *pUnk);
17278
17279     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
17280     LONG clientHeight();
17281
17282     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
17283     LONG clientWidth();
17284
17285     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
17286     LONG clientTop();
17287
17288     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
17289     LONG clientLeft();
17290
17291     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
17292     VARIANT_BOOL attachEvent(
17293             [in] BSTR event,
17294             [in] IDispatch *pDisp);
17295
17296     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
17297     void detachEvent(
17298             [in] BSTR event,
17299             [in] IDispatch *pDisp);
17300
17301     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
17302     VARIANT readyState();
17303
17304     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17305     void onreadystatechange(VARIANT v);
17306
17307     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17308     VARIANT onreadystatechange();
17309
17310     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17311     void onrowsdelete(VARIANT v);
17312
17313     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17314     VARIANT onrowsdelete();
17315
17316     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17317     void onrowsinserted(VARIANT v);
17318
17319     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17320      VARIANT onrowsinserted();
17321
17322     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17323      void oncellchange(VARIANT v);
17324
17325     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17326     VARIANT oncellchange();
17327
17328     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17329     void dir(BSTR v);
17330
17331     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17332     BSTR dir();
17333
17334     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
17335     IDispatch *createControlRange();
17336
17337     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
17338     LONG scrollHeight();
17339
17340     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
17341     LONG scrollWidth();
17342
17343     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17344     void scrollTop(LONG v);
17345
17346     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17347     LONG scrollTop();
17348
17349     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17350     void scrollLeft(LONG v);
17351
17352     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17353     LONG scrollLeft();
17354
17355     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
17356     void clearAttributes();
17357
17358     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17359     void oncontextmenu(VARIANT v);
17360
17361     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17362     VARIANT oncontextmenu();
17363
17364     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
17365     IHTMLElement *insertAdjacentElement(
17366             [in] BSTR where,
17367             [in] IHTMLElement *insertedElement);
17368
17369     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
17370     IHTMLElement *applyElement(
17371             [in] IHTMLElement *apply,
17372             [in] BSTR where);
17373
17374     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
17375     BSTR getAdjacentText([in] BSTR where);
17376
17377     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
17378     BSTR replaceAdjacentText(
17379             [in] BSTR where,
17380             [in] BSTR newText);
17381
17382     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
17383     VARIANT_BOOL canHaveChildren();
17384
17385     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
17386     LONG addBehavior(
17387             [in] BSTR bstrUrl,
17388             [in, optional] VARIANT *pvarFactory);
17389
17390     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
17391     VARIANT_BOOL removeBehavior([in] LONG cookie);
17392
17393     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
17394     IHTMLStyle *runtimeStyle();
17395
17396     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
17397     IDispatch *behaviorUrns();
17398
17399     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
17400     void tagUrn(BSTR v);
17401
17402     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
17403     BSTR tagUrn();
17404
17405     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17406     void onbeforeeditfocus(VARIANT v);
17407
17408     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17409     VARIANT onbeforeeditfocus();
17410
17411     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
17412     LONG readyStateValue();
17413
17414     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
17415     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
17416
17417     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
17418     void mergeAttributes(
17419             [in] IHTMLElement *mergeThis,
17420             [in, optional] VARIANT *pvarFlags);
17421
17422     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
17423     VARIANT_BOOL isMultiLine();
17424
17425     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
17426     VARIANT_BOOL canHaveHTML();
17427
17428     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17429     void onlayoutcomplete(VARIANT v);
17430
17431     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17432     VARIANT onlayoutcomplete();
17433
17434     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17435     void onpage(VARIANT v);
17436
17437     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17438     VARIANT onpage();
17439
17440     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17441     void inflateBlock(VARIANT_BOOL v);
17442
17443     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17444     VARIANT_BOOL inflateBlock();
17445
17446     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17447     void onbeforedeactivate(VARIANT v);
17448
17449     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17450     VARIANT onbeforedeactivate();
17451
17452     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
17453     void setActive();
17454
17455     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
17456     void contentEditable(BSTR v);
17457
17458     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
17459     BSTR contentEditable();
17460
17461     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
17462     VARIANT_BOOL isContentEditable();
17463
17464     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17465     void hideFocus(VARIANT_BOOL v);
17466
17467     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17468     VARIANT_BOOL hideFocus();
17469
17470     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17471     void disabled(VARIANT_BOOL v);
17472
17473     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17474     VARIANT_BOOL disabled();
17475
17476     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
17477     VARIANT_BOOL isDisabled();
17478
17479     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17480     void onmove(VARIANT v);
17481
17482     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17483     VARIANT onmove();
17484
17485     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17486     void oncontrolselect(VARIANT v);
17487
17488     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17489     VARIANT oncontrolselect();
17490
17491     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
17492     VARIANT_BOOL fireEvent(
17493             [in] BSTR bstrEventName,
17494             [in, optional] VARIANT *pvarEventObject);
17495
17496     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17497     void onresizestart(VARIANT v);
17498
17499     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17500     VARIANT onresizestart();
17501
17502     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17503     void onresizeend(VARIANT v);
17504
17505     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17506     VARIANT onresizeend();
17507
17508     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
17509     void onmovestart(VARIANT v);
17510
17511     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
17512     VARIANT onmovestart();
17513
17514     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
17515     void onmoveend(VARIANT v);
17516
17517     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
17518     VARIANT onmoveend();
17519
17520     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
17521     void onmouseenter(VARIANT v);
17522
17523     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
17524     VARIANT onmouseenter();
17525
17526     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
17527     void onmouseleave(VARIANT v);
17528
17529     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
17530     VARIANT onmouseleave();
17531
17532     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
17533     void onactivate(VARIANT v);
17534
17535     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
17536     VARIANT onactivate();
17537
17538     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
17539     void ondeactivate(VARIANT v);
17540
17541     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
17542     VARIANT ondeactivate();
17543
17544     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
17545     VARIANT_BOOL dragDrop();
17546
17547     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
17548     LONG glyphMode();
17549
17550     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
17551     void onmousewheel(VARIANT v);
17552
17553     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
17554     VARIANT onmousewheel();
17555
17556     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
17557     void normalize();
17558
17559     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
17560     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
17561
17562     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
17563     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
17564
17565     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
17566     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
17567
17568     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
17569     void onbeforeactivate(VARIANT v);
17570
17571     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
17572     VARIANT onbeforeactivate();
17573
17574     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
17575     void onfocusin(VARIANT v);
17576
17577     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
17578     VARIANT onfocusin();
17579
17580     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
17581     void onfocusout(VARIANT v);
17582
17583     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
17584     VARIANT onfocusout();
17585
17586     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
17587     LONG uniqueNumber();
17588
17589     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
17590     BSTR uniqueID();
17591
17592     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
17593     LONG nodeType();
17594
17595     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
17596     IHTMLDOMNode *parentNode();
17597
17598     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
17599     VARIANT_BOOL hasChildNodes();
17600
17601     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
17602     IDispatch *childNodes();
17603
17604     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
17605     IDispatch *attributes();
17606
17607     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
17608     IHTMLDOMNode *insertBefore(
17609             [in] IHTMLDOMNode *newChild,
17610             [in, optional] VARIANT refChild);
17611
17612     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
17613     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
17614
17615     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
17616     IHTMLDOMNode *replaceChild(
17617             [in] IHTMLDOMNode *newChild,
17618             [in] IHTMLDOMNode *oldChild);
17619
17620     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
17621     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
17622
17623     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
17624     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
17625
17626     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
17627     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
17628
17629     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
17630     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
17631
17632     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
17633     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
17634
17635     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
17636     BSTR nodeName();
17637
17638     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17639     void nodeValue(VARIANT v);
17640
17641     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17642     VARIANT nodeValue();
17643
17644     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
17645     IHTMLDOMNode *firstChild();
17646
17647     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
17648     IHTMLDOMNode *lastChild();
17649
17650     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
17651     IHTMLDOMNode *previousSibling();
17652
17653     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
17654     IHTMLDOMNode *nextSibling();
17655
17656     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
17657     IDispatch *ownerDocument();
17658
17659     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
17660     void text(BSTR v);
17661
17662     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
17663     BSTR text();
17664
17665     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
17666     void atomic(LONG v);
17667
17668     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
17669     LONG atomic();
17670
17671     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
17672     void data(BSTR v);
17673
17674     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
17675     BSTR data();
17676
17677     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
17678     LONG length();
17679
17680     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
17681     BSTR substringData(
17682             [in] LONG offset,
17683             [in] LONG Count);
17684
17685     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
17686     void appendData([in] BSTR bstrstring);
17687
17688     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
17689      void insertData(
17690             [in] LONG offset,
17691             [in] BSTR bstrstring);
17692
17693     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
17694     void deleteData(
17695             [in] LONG offset,
17696             [in] LONG Count);
17697
17698     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
17699     void replaceData(
17700             [in] LONG offset,
17701             [in] LONG Count,
17702             [in] BSTR bstrstring);
17703 }
17704
17705 [
17706     hidden,
17707     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
17708 ]
17709 dispinterface HTMLElementEvents2
17710 {
17711 properties:
17712 methods:
17713     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
17714     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
17715
17716     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
17717     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
17718
17719     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
17720     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
17721
17722     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
17723     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
17724
17725     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
17726     void onkeydown([in] IHTMLEventObj* pEvtObj);
17727
17728     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
17729     void onkeyup([in] IHTMLEventObj* pEvtObj);
17730
17731     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
17732     void onmouseout([in] IHTMLEventObj* pEvtObj);
17733
17734     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
17735     void onmouseover([in] IHTMLEventObj* pEvtObj);
17736
17737     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
17738     void onmousemove([in] IHTMLEventObj* pEvtObj);
17739
17740     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
17741     void onmousedown([in] IHTMLEventObj* pEvtObj);
17742
17743     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
17744     void onmouseup([in] IHTMLEventObj* pEvtObj);
17745
17746     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
17747     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
17748
17749     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
17750     void onfilterchange([in] IHTMLEventObj* pEvtObj);
17751
17752     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
17753     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
17754
17755     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
17756     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
17757
17758     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
17759     void onafterupdate([in] IHTMLEventObj* pEvtObj);
17760
17761     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
17762     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
17763
17764     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
17765     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
17766
17767     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
17768     void onrowenter([in] IHTMLEventObj* pEvtObj);
17769
17770     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
17771     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
17772
17773     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
17774     void ondataavailable([in] IHTMLEventObj* pEvtObj);
17775
17776     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
17777     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
17778
17779     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
17780     void onlosecapture([in] IHTMLEventObj* pEvtObj);
17781
17782     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
17783     void onpropertychange([in] IHTMLEventObj* pEvtObj);
17784
17785     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
17786     void onscroll([in] IHTMLEventObj* pEvtObj);
17787
17788     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
17789     void onfocus([in] IHTMLEventObj* pEvtObj);
17790
17791     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
17792     void onblur([in] IHTMLEventObj* pEvtObj);
17793
17794     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
17795     void onresize([in] IHTMLEventObj* pEvtObj);
17796
17797     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
17798     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
17799
17800     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
17801     void ondragend([in] IHTMLEventObj* pEvtObj);
17802
17803     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
17804     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
17805
17806     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
17807     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
17808
17809     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
17810     void ondragleave([in] IHTMLEventObj* pEvtObj);
17811
17812     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
17813     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
17814
17815     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
17816     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
17817
17818     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
17819     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
17820
17821     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
17822     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
17823
17824     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
17825     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
17826
17827     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
17828     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
17829
17830     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
17831     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
17832
17833     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
17834     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
17835
17836     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
17837     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
17838
17839     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
17840     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
17841
17842     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
17843     void oncellchange([in] IHTMLEventObj* pEvtObj);
17844
17845     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
17846     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
17847
17848     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
17849     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
17850
17851     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
17852     void onpage([in] IHTMLEventObj* pEvtObj);
17853
17854     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
17855     void onmouseenter([in] IHTMLEventObj* pEvtObj);
17856
17857     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
17858     void onmouseleave([in] IHTMLEventObj* pEvtObj);
17859
17860     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
17861     void onactivate([in] IHTMLEventObj* pEvtObj);
17862
17863     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
17864     void ondeactivate([in] IHTMLEventObj* pEvtObj);
17865
17866     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
17867     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
17868
17869     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
17870     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
17871
17872     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
17873     void onfocusin([in] IHTMLEventObj* pEvtObj);
17874
17875     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
17876     void onfocusout([in] IHTMLEventObj* pEvtObj);
17877
17878     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
17879     void onmove([in] IHTMLEventObj* pEvtObj);
17880
17881     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
17882     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
17883
17884     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
17885     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
17886
17887     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
17888     void onmoveend([in] IHTMLEventObj* pEvtObj);
17889
17890     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
17891     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
17892
17893     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
17894     void onresizeend([in] IHTMLEventObj* pEvtObj);
17895
17896     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
17897     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
17898 };
17899 [
17900     hidden,
17901     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
17902 ]
17903 dispinterface HTMLElementEvents
17904 {
17905 properties:
17906 methods:
17907     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
17908     VARIANT_BOOL onhelp();
17909
17910     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
17911     VARIANT_BOOL onclick();
17912
17913     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
17914     VARIANT_BOOL ondblclick();
17915
17916     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
17917     VARIANT_BOOL onkeypress();
17918
17919     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
17920     void onkeydown();
17921
17922     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
17923     void onkeyup();
17924
17925     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
17926     void onmouseout();
17927
17928     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
17929     void onmouseover();
17930
17931     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
17932     void onmousemove();
17933
17934     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
17935     void onmousedown();
17936
17937     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
17938     void onmouseup();
17939
17940     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
17941     VARIANT_BOOL onselectstart();
17942
17943     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
17944     void onfilterchange();
17945
17946     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
17947     VARIANT_BOOL ondragstart();
17948
17949     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
17950     VARIANT_BOOL onbeforeupdate();
17951
17952     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
17953     void onafterupdate();
17954
17955     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
17956     VARIANT_BOOL onerrorupdate();
17957
17958     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
17959     VARIANT_BOOL onrowexit();
17960
17961     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
17962     void onrowenter();
17963
17964     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
17965     void ondatasetchanged();
17966
17967     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
17968     void ondataavailable();
17969
17970     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
17971     void ondatasetcomplete();
17972
17973     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
17974     void onlosecapture();
17975
17976     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
17977     void onpropertychange();
17978
17979     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
17980     void onscroll();
17981
17982     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
17983     void onfocus();
17984
17985     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
17986     void onblur();
17987
17988     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
17989     void onresize();
17990
17991     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
17992     VARIANT_BOOL ondrag();
17993
17994     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
17995     void ondragend();
17996
17997     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
17998     VARIANT_BOOL ondragenter();
17999
18000     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
18001     VARIANT_BOOL ondragover();
18002
18003     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
18004     void ondragleave();
18005
18006     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
18007     VARIANT_BOOL ondrop();
18008
18009     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
18010     VARIANT_BOOL onbeforecut();
18011
18012     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
18013     VARIANT_BOOL oncut();
18014
18015     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
18016     VARIANT_BOOL onbeforecopy();
18017
18018     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
18019     VARIANT_BOOL oncopy();
18020
18021     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
18022     VARIANT_BOOL onbeforepaste();
18023
18024     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
18025     VARIANT_BOOL onpaste();
18026
18027     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
18028     VARIANT_BOOL oncontextmenu();
18029
18030     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
18031     void onrowsdelete();
18032
18033     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
18034     void onrowsinserted();
18035
18036     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
18037     void oncellchange();
18038
18039     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
18040     void onreadystatechange();
18041
18042     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
18043     void onbeforeeditfocus();
18044
18045     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
18046     void onlayoutcomplete();
18047
18048     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
18049     void onpage();
18050
18051     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
18052     VARIANT_BOOL onbeforedeactivate();
18053
18054     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
18055     VARIANT_BOOL onbeforeactivate();
18056
18057     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
18058     void onmove();
18059
18060     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
18061     VARIANT_BOOL oncontrolselect();
18062
18063     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
18064     VARIANT_BOOL onmovestart();
18065
18066     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
18067     void onmoveend();
18068
18069     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
18070     VARIANT_BOOL onresizestart();
18071
18072     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
18073     void onresizeend();
18074
18075     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
18076     void onmouseenter();
18077
18078     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
18079     void onmouseleave();
18080
18081     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
18082     VARIANT_BOOL onmousewheel();
18083
18084     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
18085     void onactivate();
18086
18087     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
18088     void ondeactivate();
18089
18090     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
18091     void onfocusin();
18092
18093     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
18094     void onfocusout();
18095
18096 };
18097
18098 [
18099     noncreatable,
18100     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
18101 ]
18102 coclass HTMLCommentElement
18103 {
18104     [default]           dispinterface DispHTMLCommentElement;
18105     [source, default]   dispinterface HTMLElementEvents;
18106     [source]            dispinterface HTMLElementEvents2;
18107                         interface IHTMLElement;
18108                         interface IHTMLElement2;
18109                         interface IHTMLElement3;
18110                         interface IHTMLElement4;
18111                         interface IHTMLUniqueName;
18112                         interface IHTMLDOMNode;
18113                         interface IHTMLDOMNode2;
18114                         interface IHTMLCommentElement;
18115                         interface IHTMLCommentElement2;
18116 }
18117
18118 /*****************************************************************************
18119  *    HTMLTableEvents dispinterface
18120  */
18121 [
18122     hidden,
18123     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
18124 ]
18125 dispinterface HTMLTableEvents
18126 {
18127 properties:
18128 methods:
18129     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
18130     VARIANT_BOOL onhelp();
18131
18132     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
18133     VARIANT_BOOL onclick();
18134
18135     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
18136     VARIANT_BOOL ondblclick();
18137
18138     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
18139     VARIANT_BOOL onkeypress();
18140
18141     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
18142     void onkeydown();
18143
18144     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
18145     void onkeyup();
18146
18147     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
18148     void onmouseout();
18149
18150     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
18151     void onmouseover();
18152
18153     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
18154     void onmousemove();
18155
18156     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
18157     void onmousedown();
18158
18159     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
18160     void onmouseup();
18161
18162     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
18163     VARIANT_BOOL onselectstart();
18164
18165     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
18166     void onfilterchange();
18167
18168     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
18169     VARIANT_BOOL ondragstart();
18170
18171     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
18172     VARIANT_BOOL onbeforeupdate();
18173
18174     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
18175     void onafterupdate();
18176
18177     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
18178     VARIANT_BOOL onerrorupdate();
18179
18180     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
18181     VARIANT_BOOL onrowexit();
18182
18183     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
18184     void onrowenter();
18185
18186     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
18187     void ondatasetchanged();
18188
18189     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
18190     void ondataavailable();
18191
18192     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
18193     void ondatasetcomplete();
18194
18195     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
18196     void onlosecapture();
18197
18198     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
18199     void onpropertychange();
18200
18201     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
18202     void onscroll();
18203
18204     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
18205     void onfocus();
18206
18207     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
18208     void onblur();
18209
18210     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
18211     void onresize();
18212
18213     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
18214     VARIANT_BOOL ondrag();
18215
18216     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
18217     void ondragend();
18218
18219     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
18220     VARIANT_BOOL ondragenter();
18221
18222     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
18223     VARIANT_BOOL ondragover();
18224
18225     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
18226     void ondragleave();
18227
18228     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
18229     VARIANT_BOOL ondrop();
18230
18231     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
18232     VARIANT_BOOL onbeforecut();
18233
18234     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
18235     VARIANT_BOOL oncut();
18236
18237     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
18238     VARIANT_BOOL onbeforecopy();
18239
18240     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
18241     VARIANT_BOOL oncopy();
18242
18243     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
18244     VARIANT_BOOL onbeforepaste();
18245
18246     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
18247     VARIANT_BOOL onpaste();
18248
18249     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
18250     VARIANT_BOOL oncontextmenu();
18251
18252     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
18253     void onrowsdelete();
18254
18255     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
18256     void onrowsinserted();
18257
18258     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
18259     void oncellchange();
18260
18261     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
18262     void onreadystatechange();
18263
18264     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
18265     void onbeforeeditfocus();
18266
18267     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
18268     void onlayoutcomplete();
18269
18270     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
18271     void onpage();
18272
18273     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
18274     VARIANT_BOOL onbeforedeactivate();
18275
18276     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
18277     VARIANT_BOOL onbeforeactivate();
18278
18279     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
18280     void onmove();
18281
18282     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
18283     VARIANT_BOOL oncontrolselect();
18284
18285     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
18286     VARIANT_BOOL onmovestart();
18287
18288     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
18289     void onmoveend();
18290
18291     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
18292     VARIANT_BOOL onresizestart();
18293
18294     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
18295     void onresizeend();
18296
18297     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
18298     void onmouseenter();
18299
18300     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
18301     void onmouseleave();
18302
18303     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
18304     VARIANT_BOOL onmousewheel();
18305
18306     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
18307     void onactivate();
18308
18309     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
18310     void ondeactivate();
18311
18312     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
18313     void onfocusin();
18314
18315     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
18316     void onfocusout();
18317 }
18318
18319 [
18320     hidden,
18321     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
18322 ]
18323 dispinterface HTMLTableEvents2
18324 {
18325 properties:
18326 methods:
18327     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
18328     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
18329
18330     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
18331     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
18332
18333     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
18334     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
18335
18336     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
18337     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
18338
18339     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
18340     void onkeydown([in] IHTMLEventObj* pEvtObj);
18341
18342     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
18343     void onkeyup([in] IHTMLEventObj* pEvtObj);
18344
18345     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
18346     void onmouseout([in] IHTMLEventObj* pEvtObj);
18347
18348     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
18349     void onmouseover([in] IHTMLEventObj* pEvtObj);
18350
18351     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
18352     void onmousemove([in] IHTMLEventObj* pEvtObj);
18353
18354     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
18355     void onmousedown([in] IHTMLEventObj* pEvtObj);
18356
18357     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
18358     void onmouseup([in] IHTMLEventObj* pEvtObj);
18359
18360     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
18361     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
18362
18363     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
18364     void onfilterchange([in] IHTMLEventObj* pEvtObj);
18365
18366     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
18367     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
18368
18369     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
18370     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
18371
18372     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
18373     void onafterupdate([in] IHTMLEventObj* pEvtObj);
18374
18375     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
18376     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
18377
18378     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
18379     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
18380
18381     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
18382     void onrowenter([in] IHTMLEventObj* pEvtObj);
18383
18384     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
18385     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
18386
18387     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
18388     void ondataavailable([in] IHTMLEventObj* pEvtObj);
18389
18390     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
18391     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
18392
18393     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
18394     void onlosecapture([in] IHTMLEventObj* pEvtObj);
18395
18396     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
18397     void onpropertychange([in] IHTMLEventObj* pEvtObj);
18398
18399     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
18400     void onscroll([in] IHTMLEventObj* pEvtObj);
18401
18402     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
18403     void onfocus([in] IHTMLEventObj* pEvtObj);
18404
18405     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
18406     void onblur([in] IHTMLEventObj* pEvtObj);
18407
18408     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
18409     void onresize([in] IHTMLEventObj* pEvtObj);
18410
18411     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
18412     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
18413
18414     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
18415     void ondragend([in] IHTMLEventObj* pEvtObj);
18416
18417     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
18418     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
18419
18420     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
18421     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
18422
18423     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
18424     void ondragleave([in] IHTMLEventObj* pEvtObj);
18425
18426     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
18427     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
18428
18429     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
18430     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
18431
18432     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
18433     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
18434
18435     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
18436     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
18437
18438     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
18439     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
18440
18441     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
18442     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
18443
18444     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
18445     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
18446
18447     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
18448     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
18449
18450     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
18451     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
18452
18453     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
18454     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
18455
18456     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
18457     void oncellchange([in] IHTMLEventObj* pEvtObj);
18458
18459     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
18460     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
18461
18462     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
18463     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
18464
18465     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
18466     void onpage([in] IHTMLEventObj* pEvtObj);
18467
18468     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
18469     void onmouseenter([in] IHTMLEventObj* pEvtObj);
18470
18471     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
18472     void onmouseleave([in] IHTMLEventObj* pEvtObj);
18473
18474     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
18475     void onactivate([in] IHTMLEventObj* pEvtObj);
18476
18477     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
18478     void ondeactivate([in] IHTMLEventObj* pEvtObj);
18479
18480     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
18481     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
18482
18483     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
18484     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
18485
18486     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
18487     void onfocusin([in] IHTMLEventObj* pEvtObj);
18488
18489     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
18490     void onfocusout([in] IHTMLEventObj* pEvtObj);
18491
18492     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
18493     void onmove([in] IHTMLEventObj* pEvtObj);
18494
18495     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
18496     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
18497
18498     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
18499     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
18500
18501     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
18502     void onmoveend([in] IHTMLEventObj* pEvtObj);
18503
18504     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
18505     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
18506
18507     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
18508     void onresizeend([in] IHTMLEventObj* pEvtObj);
18509
18510     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
18511     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
18512 };
18513
18514 /*****************************************************************************
18515  *    IHTMLTableCaption interface
18516  */
18517 [
18518     odl,
18519     oleautomation,
18520     dual,
18521     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
18522 ]
18523 interface IHTMLTableCaption : IDispatch
18524 {
18525     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
18526     HRESULT align([in] BSTR v);
18527
18528     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
18529     HRESULT align([retval, out] BSTR *p);
18530
18531     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
18532     HRESULT vAlign([in] BSTR v);
18533
18534     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
18535     HRESULT vAlign([retval, out] BSTR *p);
18536 }
18537
18538 interface IHTMLTableSection;
18539
18540 /*****************************************************************************
18541  *    IHTMLTable interface
18542  */
18543 [
18544     odl,
18545     oleautomation,
18546     dual,
18547     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
18548 ]
18549 interface IHTMLTable : IDispatch
18550 {
18551     [propput, id(DISPID_IHTMLTABLE_COLS)]
18552     HRESULT cols([in] LONG v);
18553
18554     [propget, id(DISPID_IHTMLTABLE_COLS)]
18555     HRESULT cols([retval, out] LONG *p);
18556
18557     [propput, id(DISPID_IHTMLTABLE_BORDER)]
18558     HRESULT border([in] VARIANT v);
18559
18560     [propget, id(DISPID_IHTMLTABLE_BORDER)]
18561     HRESULT border([retval, out] VARIANT *p);
18562
18563     [propput, id(DISPID_IHTMLTABLE_FRAME)]
18564     HRESULT frame([in] BSTR v);
18565
18566     [propget, id(DISPID_IHTMLTABLE_FRAME)]
18567     HRESULT frame([retval, out] BSTR *p);
18568
18569     [propput, id(DISPID_IHTMLTABLE_RULES)]
18570     HRESULT rules([in] BSTR v);
18571
18572     [propget, id(DISPID_IHTMLTABLE_RULES)]
18573     HRESULT rules([retval, out] BSTR *p);
18574
18575     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
18576     HRESULT cellSpacing([in] VARIANT v);
18577
18578     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
18579     HRESULT cellSpacing([retval, out] VARIANT *p);
18580
18581     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
18582     HRESULT cellPadding([in] VARIANT v);
18583
18584     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
18585     HRESULT cellPadding([retval, out] VARIANT *p);
18586
18587     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
18588     HRESULT background([in] BSTR v);
18589
18590     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
18591     HRESULT background([retval, out] BSTR *p);
18592
18593     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
18594     HRESULT bgColor([in] VARIANT v);
18595
18596     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
18597     HRESULT bgColor([retval, out] VARIANT *p);
18598
18599     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18600     HRESULT borderColor([in] VARIANT v);
18601
18602     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18603     HRESULT borderColor([retval, out] VARIANT *p);
18604
18605     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18606     HRESULT borderColorLight([in] VARIANT v);
18607
18608     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18609     HRESULT borderColorLight([retval, out] VARIANT *p);
18610
18611     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18612     HRESULT borderColorDark([in] VARIANT v);
18613
18614     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18615     HRESULT borderColorDark([retval, out] VARIANT *p);
18616
18617     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
18618     HRESULT align([in] BSTR v);
18619
18620     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
18621     HRESULT align([retval, out] BSTR * p);
18622
18623     [id(DISPID_IHTMLTABLE_REFRESH)]
18624     HRESULT refresh();
18625
18626     [propget, id(DISPID_IHTMLTABLE_ROWS)]
18627     HRESULT rows([retval, out] IHTMLElementCollection **p);
18628
18629     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
18630     HRESULT width([in] VARIANT v);
18631
18632     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
18633     HRESULT width([retval, out] VARIANT *p);
18634
18635     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
18636     HRESULT height([in] VARIANT v);
18637
18638     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
18639     HRESULT height([retval, out] VARIANT *p);
18640
18641     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18642     HRESULT dataPageSize([in] LONG v);
18643
18644     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18645     HRESULT dataPageSize([retval, out] LONG *p);
18646
18647     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
18648     HRESULT nextPage();
18649
18650     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
18651     HRESULT previousPage();
18652
18653     [propget, id(DISPID_IHTMLTABLE_THEAD)]
18654     HRESULT tHead([retval, out] IHTMLTableSection **p);
18655
18656     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
18657     HRESULT tFoot([retval, out] IHTMLTableSection **p);
18658
18659     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
18660     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
18661
18662     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
18663     HRESULT caption([retval, out] IHTMLTableCaption **p);
18664
18665     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
18666     HRESULT createTHead([retval, out] IDispatch **head);
18667
18668     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
18669     HRESULT deleteTHead();
18670
18671     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
18672     HRESULT createTFoot([retval, out] IDispatch **foot);
18673
18674     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
18675     HRESULT deleteTFoot();
18676
18677     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
18678     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
18679
18680     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
18681     HRESULT deleteCaption();
18682
18683     [id(DISPID_IHTMLTABLE_INSERTROW)]
18684     HRESULT insertRow(
18685             [defaultvalue(-1), in] LONG index,
18686             [retval, out] IDispatch **row);
18687
18688     [id(DISPID_IHTMLTABLE_DELETEROW)]
18689     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
18690
18691     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
18692     HRESULT readyState([retval, out] BSTR *p);
18693
18694     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
18695     HRESULT onreadystatechange([in] VARIANT v);
18696
18697     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
18698     HRESULT onreadystatechange([retval, out] VARIANT *p);
18699 }
18700
18701 [
18702     odl,
18703     oleautomation,
18704     dual,
18705     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
18706 ]
18707 interface IHTMLTable2 : IDispatch
18708 {
18709     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
18710     HRESULT firstPage();
18711
18712     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
18713     HRESULT lastPage();
18714
18715     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
18716     HRESULT cells([retval, out] IHTMLElementCollection* * p);
18717
18718     [id(DISPID_IHTMLTABLE2_MOVEROW)]
18719     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
18720         [defaultvalue(-1), in] LONG indexTo,
18721         [retval, out] IDispatch** row);
18722 };
18723
18724 [
18725     odl,
18726     oleautomation,
18727     dual,
18728     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
18729 ]
18730 interface IHTMLTable3 : IDispatch
18731 {
18732     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18733     HRESULT summary([in] BSTR v);
18734
18735     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18736     HRESULT summary([retval, out] BSTR * p);
18737 };
18738
18739 [
18740     noncreatable,
18741     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
18742 ]
18743 coclass HTMLTable
18744 {
18745     [default]           dispinterface DispHTMLTable;
18746     [source, default]   dispinterface HTMLTableEvents;
18747     [source]            dispinterface HTMLTableEvents2;
18748                         interface IHTMLElement;
18749                         interface IHTMLElement2;
18750                         interface IHTMLElement3;
18751                         interface IHTMLElement4;
18752                         interface IHTMLUniqueName;
18753                         interface IHTMLDOMNode;
18754                         interface IHTMLDOMNode2;
18755                         interface IHTMLDatabinding;
18756                         interface IHTMLControlElement;
18757                         interface IHTMLTable;
18758                         interface IHTMLTable2;
18759                         interface IHTMLTable3;
18760 };
18761
18762 [
18763     odl,
18764     oleautomation,
18765     dual,
18766     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
18767 ]
18768 interface IHTMLTableSection : IDispatch
18769 {
18770     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
18771     HRESULT align([in] BSTR v);
18772
18773     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
18774     HRESULT align([retval, out] BSTR *p);
18775
18776     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
18777     HRESULT vAlign([in] BSTR v);
18778
18779     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
18780     HRESULT vAlign([retval, out] BSTR *p);
18781
18782     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
18783     HRESULT bgColor([in] VARIANT v);
18784
18785     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
18786     HRESULT bgColor([retval, out] VARIANT *p);
18787
18788     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
18789     HRESULT rows([retval, out] IHTMLElementCollection **p);
18790
18791     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
18792     HRESULT insertRow(
18793             [defaultvalue(-1), in] LONG index,
18794             [retval, out] IDispatch **row);
18795
18796     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
18797     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
18798 }
18799
18800 /*****************************************************************************
18801  *    IHTMLTableRow interface
18802  */
18803 [
18804     odl,
18805     oleautomation,
18806     dual,
18807     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
18808 ]
18809 interface IHTMLTableRow : IDispatch
18810 {
18811     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
18812     HRESULT align([in] BSTR v);
18813
18814     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
18815     HRESULT align([out, retval] BSTR *p);
18816
18817     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
18818     HRESULT vAlign([in] BSTR v);
18819
18820     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
18821     HRESULT vAlign([out, retval] BSTR *p);
18822
18823     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
18824     HRESULT bgColor([in] VARIANT v);
18825
18826     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
18827     HRESULT bgColor([out, retval] VARIANT *p);
18828
18829     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
18830     HRESULT borderColor([in] VARIANT v);
18831
18832     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
18833     HRESULT borderColor([out, retval] VARIANT *p);
18834
18835     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
18836     HRESULT borderColorLight([in] VARIANT v);
18837
18838     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
18839     HRESULT borderColorLight([out, retval] VARIANT *p);
18840
18841     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
18842     HRESULT borderColorDark([in] VARIANT v);
18843
18844     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
18845     HRESULT borderColorDark([out, retval] VARIANT *p);
18846
18847     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
18848     HRESULT rowIndex([out, retval] LONG *p);
18849
18850     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
18851     HRESULT sectionRowIndex([out, retval] LONG *p);
18852
18853     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
18854     HRESULT cells([out, retval] IHTMLElementCollection **p);
18855
18856     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
18857     HRESULT insertCell(
18858             [in, defaultvalue(-1)] LONG index,
18859             [out, retval] IDispatch **row);
18860
18861     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
18862     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
18863 }
18864
18865 /*****************************************************************************
18866  *    DispHTMLTable interface
18867  */
18868 [
18869     hidden,
18870     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
18871 ]
18872 dispinterface DispHTMLTable
18873 {
18874 properties:
18875 methods:
18876     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
18877     void setAttribute(
18878             [in] BSTR strAttributeName,
18879             [in] VARIANT AttributeValue,
18880             [in, defaultvalue(1)] LONG lFlags);
18881
18882     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
18883     VARIANT getAttribute(
18884              [in] BSTR strAttributeName,
18885              [in, defaultvalue(0)] LONG lFlags);
18886
18887     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
18888     VARIANT_BOOL removeAttribute(
18889             [in] BSTR strAttributeName,
18890             [in, defaultvalue(1)] LONG lFlags);
18891
18892     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18893     void className(BSTR v);
18894
18895     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18896     BSTR className();
18897
18898     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
18899     void id(BSTR v);
18900
18901     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
18902     BSTR id();
18903
18904     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
18905     BSTR tagName();
18906
18907     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
18908     IHTMLElement *parentElement();
18909
18910     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
18911     IHTMLStyle *style();
18912
18913     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18914     void onhelp(VARIANT v);
18915
18916     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18917     VARIANT onhelp();
18918
18919     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18920     void onclick(VARIANT v);
18921
18922     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18923     VARIANT onclick();
18924
18925     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18926     void ondblclick(VARIANT v);
18927
18928     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18929     VARIANT ondblclick();
18930
18931     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18932     void onkeydown(VARIANT v);
18933
18934     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18935     VARIANT onkeydown();
18936
18937     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18938     void onkeyup(VARIANT v);
18939
18940     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18941     VARIANT onkeyup();
18942
18943     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18944     void onkeypress(VARIANT v);
18945
18946     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18947     VARIANT onkeypress();
18948
18949     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18950     void onmouseout(VARIANT v);
18951
18952     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18953     VARIANT onmouseout();
18954
18955     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18956     void onmouseover(VARIANT v);
18957
18958     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18959     VARIANT onmouseover();
18960
18961     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18962     void onmousemove(VARIANT v);
18963
18964     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18965     VARIANT onmousemove();
18966
18967     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18968     void onmousedown(VARIANT v);
18969
18970     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18971     VARIANT onmousedown();
18972
18973     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18974     void onmouseup(VARIANT v);
18975
18976     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18977     VARIANT onmouseup();
18978
18979     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
18980     IDispatch *document();
18981
18982     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18983     void title(BSTR v);
18984
18985     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18986     BSTR title();
18987
18988     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18989     void language(BSTR v);
18990
18991     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18992     BSTR language();
18993
18994     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18995     void onselectstart(VARIANT v);
18996
18997     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18998     VARIANT onselectstart();
18999
19000     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
19001     void scrollIntoView([in, optional] VARIANT varargStart);
19002
19003     [id(DISPID_IHTMLELEMENT_CONTAINS)]
19004     VARIANT_BOOL contains([in] IHTMLElement *pChild);
19005
19006     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
19007     LONG sourceIndex();
19008
19009     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
19010     VARIANT recordNumber();
19011
19012     [propput, id(DISPID_IHTMLELEMENT_LANG)]
19013     void lang(BSTR v);
19014
19015     [propget, id(DISPID_IHTMLELEMENT_LANG)]
19016     BSTR lang();
19017
19018     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
19019     LONG offsetLeft();
19020
19021     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
19022     LONG offsetTop();
19023
19024     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
19025     LONG offsetWidth();
19026
19027     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
19028     LONG offsetHeight();
19029
19030     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
19031     IHTMLElement *offsetParent();
19032
19033     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
19034     void innerHTML(BSTR v);
19035
19036     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
19037     BSTR innerHTML();
19038
19039     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19040     void innerText(BSTR v);
19041
19042     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19043     BSTR innerText();
19044
19045     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19046     void outerHTML(BSTR v);
19047
19048     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19049     BSTR outerHTML();
19050
19051     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19052     void outerText(BSTR v);
19053
19054     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19055     BSTR outerText();
19056
19057     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
19058     void insertAdjacentHTML(
19059             [in] BSTR where,
19060             [in] BSTR html);
19061
19062     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
19063     void insertAdjacentText(
19064             [in] BSTR where,
19065             [in] BSTR text);
19066
19067     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
19068     IHTMLElement *parentTextEdit();
19069
19070     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
19071     VARIANT_BOOL isTextEdit();
19072
19073     [id(DISPID_IHTMLELEMENT_CLICK)]
19074     void click();
19075
19076     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
19077     IHTMLFiltersCollection *filters();
19078
19079     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19080     void ondragstart(VARIANT v);
19081
19082     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19083     VARIANT ondragstart();
19084
19085     [id(DISPID_IHTMLELEMENT_TOSTRING)]
19086     BSTR toString();
19087
19088     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19089     void onbeforeupdate(VARIANT v);
19090
19091     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19092     VARIANT onbeforeupdate();
19093
19094     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19095     void onafterupdate(VARIANT v);
19096
19097     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19098     VARIANT onafterupdate();
19099
19100     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19101     void onerrorupdate(VARIANT v);
19102
19103     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19104     VARIANT onerrorupdate();
19105
19106     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19107     void onrowexit(VARIANT v);
19108
19109     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19110     VARIANT onrowexit();
19111
19112     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19113     void onrowenter(VARIANT v);
19114
19115     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19116     VARIANT onrowenter();
19117
19118     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19119     void ondatasetchanged(VARIANT v);
19120
19121     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19122     VARIANT ondatasetchanged();
19123
19124     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19125     void ondataavailable(VARIANT v);
19126
19127     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19128     VARIANT ondataavailable();
19129
19130     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19131     void ondatasetcomplete(VARIANT v);
19132
19133     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19134     VARIANT ondatasetcomplete();
19135
19136     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19137     void onfilterchange(VARIANT v);
19138
19139     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19140     VARIANT onfilterchange();
19141
19142     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
19143     IDispatch *children();
19144
19145     [propget, id(DISPID_IHTMLELEMENT_ALL)]
19146     IDispatch *all();
19147
19148     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
19149     BSTR scopeName();
19150
19151     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
19152     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
19153
19154     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
19155     void releaseCapture();
19156
19157     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19158     void onlosecapture(VARIANT v);
19159
19160     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19161     VARIANT onlosecapture();
19162
19163     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
19164     BSTR componentFromPoint(
19165             [in] LONG x,
19166             [in] LONG y);
19167
19168     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
19169     void doScroll([in, optional] VARIANT component);
19170
19171     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19172     void onscroll(VARIANT v);
19173
19174     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19175     VARIANT onscroll();
19176
19177     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19178     void ondrag(VARIANT v);
19179
19180     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19181     VARIANT ondrag();
19182
19183     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19184     void ondragend(VARIANT v);
19185
19186     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19187     VARIANT ondragend();
19188
19189     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19190     void ondragenter(VARIANT v);
19191
19192     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19193     VARIANT ondragenter();
19194
19195     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19196     void ondragover(VARIANT v);
19197
19198     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19199     VARIANT ondragover();
19200
19201     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19202     void ondragleave(VARIANT v);
19203
19204     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19205     VARIANT ondragleave();
19206
19207     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19208     void ondrop(VARIANT v);
19209
19210     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19211     VARIANT ondrop();
19212
19213     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19214     void onbeforecut(VARIANT v);
19215
19216     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19217     VARIANT onbeforecut();
19218
19219     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19220     void oncut(VARIANT v);
19221
19222     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19223     VARIANT oncut();
19224
19225     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19226     void onbeforecopy(VARIANT v);
19227
19228     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19229     VARIANT onbeforecopy();
19230
19231     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19232     void oncopy(VARIANT v);
19233
19234     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19235     VARIANT oncopy();
19236
19237     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19238     void onbeforepaste(VARIANT v);
19239
19240     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19241     VARIANT onbeforepaste();
19242
19243     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19244     void onpaste(VARIANT v);
19245
19246     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19247     VARIANT onpaste();
19248
19249     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
19250     IHTMLCurrentStyle *currentStyle();
19251
19252     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19253     void onpropertychange(VARIANT v);
19254
19255     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19256     VARIANT onpropertychange();
19257
19258     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
19259     IHTMLRectCollection *getClientRects();
19260
19261     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
19262     IHTMLRect *getBoundingClientRect();
19263
19264     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
19265     void setExpression(
19266             [in] BSTR propname,
19267             [in] BSTR expression,
19268             [in, defaultvalue("")] BSTR language);
19269
19270     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
19271     VARIANT getExpression([in] BSTR propname);
19272
19273     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
19274     VARIANT_BOOL removeExpression([in] BSTR propname);
19275
19276     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19277     void tabIndex(short v);
19278
19279     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19280     short tabIndex();
19281
19282     [id(DISPID_IHTMLELEMENT2_FOCUS)]
19283     void focus();
19284
19285     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19286     void accessKey(BSTR v);
19287
19288     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19289     BSTR accessKey();
19290
19291     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19292     void onblur(VARIANT v);
19293
19294     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19295     VARIANT onblur();
19296
19297     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19298     void onfocus(VARIANT v);
19299
19300     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19301     VARIANT onfocus();
19302
19303     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19304     void onresize(VARIANT v);
19305
19306     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19307     VARIANT onresize();
19308
19309     [id(DISPID_IHTMLELEMENT2_BLUR)]
19310     void blur();
19311
19312     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
19313     void addFilter([in] IUnknown *pUnk);
19314
19315     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
19316     void removeFilter([in] IUnknown *pUnk);
19317
19318     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
19319     LONG clientHeight();
19320
19321     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
19322     LONG clientWidth();
19323
19324     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
19325     LONG clientTop();
19326
19327     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
19328     LONG clientLeft();
19329
19330     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
19331     VARIANT_BOOL attachEvent(
19332             [in] BSTR event,
19333             [in] IDispatch *pDisp);
19334
19335     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
19336     void detachEvent(
19337             [in] BSTR event,
19338             [in] IDispatch *pDisp);
19339
19340     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
19341     VARIANT readyState();
19342
19343     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19344     void onreadystatechange(VARIANT v);
19345
19346     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19347     VARIANT onreadystatechange();
19348
19349     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19350     void onrowsdelete(VARIANT v);
19351
19352     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19353     VARIANT onrowsdelete();
19354
19355     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19356     void onrowsinserted(VARIANT v);
19357
19358     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19359     VARIANT onrowsinserted();
19360
19361     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19362      void oncellchange(VARIANT v);
19363
19364     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19365     VARIANT oncellchange();
19366
19367     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19368     void dir(BSTR v);
19369
19370     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19371     BSTR dir();
19372
19373     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
19374     IDispatch *createControlRange();
19375
19376     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
19377     LONG scrollHeight();
19378
19379     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
19380     LONG scrollWidth();
19381
19382     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19383     void scrollTop(LONG v);
19384
19385     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19386     LONG scrollTop();
19387
19388     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19389     void scrollLeft(LONG v);
19390
19391     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19392     LONG scrollLeft();
19393
19394     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
19395     void clearAttributes();
19396
19397     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19398     void oncontextmenu(VARIANT v);
19399
19400     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19401     VARIANT oncontextmenu();
19402
19403     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
19404     IHTMLElement *insertAdjacentElement(
19405             [in] BSTR where,
19406             [in] IHTMLElement *insertedElement);
19407
19408     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
19409     IHTMLElement *applyElement(
19410             [in] IHTMLElement *apply,
19411             [in] BSTR where);
19412
19413     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
19414     BSTR getAdjacentText([in] BSTR where);
19415
19416     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
19417     BSTR replaceAdjacentText(
19418             [in] BSTR where,
19419             [in] BSTR newText);
19420
19421     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
19422     VARIANT_BOOL canHaveChildren();
19423
19424     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
19425     LONG addBehavior(
19426             [in] BSTR bstrUrl,
19427             [in, optional] VARIANT *pvarFactory);
19428
19429     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
19430     VARIANT_BOOL removeBehavior([in] LONG cookie);
19431
19432     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
19433     IHTMLStyle *runtimeStyle();
19434
19435     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
19436     IDispatch *behaviorUrns();
19437
19438     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
19439     void tagUrn(BSTR v);
19440
19441     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
19442     BSTR tagUrn();
19443
19444     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19445     void onbeforeeditfocus(VARIANT v);
19446
19447     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19448     VARIANT onbeforeeditfocus();
19449
19450     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
19451     LONG readyStateValue();
19452
19453     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
19454     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
19455
19456     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
19457     void mergeAttributes(
19458             [in] IHTMLElement *mergeThis,
19459             [in, optional] VARIANT *pvarFlags);
19460
19461     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
19462     VARIANT_BOOL isMultiLine();
19463
19464     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
19465     VARIANT_BOOL canHaveHTML();
19466
19467     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19468     void onlayoutcomplete(VARIANT v);
19469
19470     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19471     VARIANT onlayoutcomplete();
19472
19473     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19474     void onpage(VARIANT v);
19475
19476     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19477     VARIANT onpage();
19478
19479     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19480     void inflateBlock(VARIANT_BOOL v);
19481
19482     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19483     VARIANT_BOOL inflateBlock();
19484
19485     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19486     void onbeforedeactivate(VARIANT v);
19487
19488     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19489     VARIANT onbeforedeactivate();
19490
19491     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
19492     void setActive();
19493
19494     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19495     void contentEditable(BSTR v);
19496
19497     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19498     BSTR contentEditable();
19499
19500     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
19501     VARIANT_BOOL isContentEditable();
19502
19503     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19504     void hideFocus(VARIANT_BOOL v);
19505
19506     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19507     VARIANT_BOOL hideFocus();
19508
19509     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19510     void disabled(VARIANT_BOOL v);
19511
19512     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19513     VARIANT_BOOL disabled();
19514
19515     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
19516     VARIANT_BOOL isDisabled();
19517
19518     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19519     void onmove(VARIANT v);
19520
19521     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19522     VARIANT onmove();
19523
19524     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19525     void oncontrolselect(VARIANT v);
19526
19527     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19528     VARIANT oncontrolselect();
19529
19530     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
19531     VARIANT_BOOL fireEvent(
19532             [in] BSTR bstrEventName,
19533             [in, optional] VARIANT *pvarEventObject);
19534
19535     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19536     void onresizestart(VARIANT v);
19537
19538     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19539     VARIANT onresizestart();
19540
19541     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19542     void onresizeend(VARIANT v);
19543
19544     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19545     VARIANT onresizeend();
19546
19547     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19548     void onmovestart(VARIANT v);
19549
19550     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19551     VARIANT onmovestart();
19552
19553     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19554     void onmoveend(VARIANT v);
19555
19556     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19557     VARIANT onmoveend();
19558
19559     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19560     void onmouseenter(VARIANT v);
19561
19562     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19563     VARIANT onmouseenter();
19564
19565     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19566     void onmouseleave(VARIANT v);
19567
19568     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19569     VARIANT onmouseleave();
19570
19571     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19572     void onactivate(VARIANT v);
19573
19574     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19575     VARIANT onactivate();
19576
19577     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19578     void ondeactivate(VARIANT v);
19579
19580     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19581     VARIANT ondeactivate();
19582
19583     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
19584     VARIANT_BOOL dragDrop();
19585
19586     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
19587     LONG glyphMode();
19588
19589     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19590     void onmousewheel(VARIANT v);
19591
19592     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19593     VARIANT onmousewheel();
19594
19595     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
19596     void normalize();
19597
19598     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
19599     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
19600
19601     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
19602     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
19603
19604     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
19605     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
19606
19607     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19608     void onbeforeactivate(VARIANT v);
19609
19610     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19611     VARIANT onbeforeactivate();
19612
19613     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19614     void onfocusin(VARIANT v);
19615
19616     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19617     VARIANT onfocusin();
19618
19619     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19620     void onfocusout(VARIANT v);
19621
19622     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19623     VARIANT onfocusout();
19624
19625     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
19626     LONG uniqueNumber();
19627
19628     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
19629     BSTR uniqueID();
19630
19631     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
19632     LONG nodeType();
19633
19634     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
19635     IHTMLDOMNode *parentNode();
19636
19637     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
19638     VARIANT_BOOL hasChildNodes();
19639
19640     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
19641     IDispatch *childNodes();
19642
19643     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
19644     IDispatch *attributes();
19645
19646     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
19647     IHTMLDOMNode *insertBefore(
19648             [in] IHTMLDOMNode *newChild,
19649             [in, optional] VARIANT refChild);
19650
19651     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
19652     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
19653
19654     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
19655     IHTMLDOMNode *replaceChild(
19656             [in] IHTMLDOMNode *newChild,
19657             [in] IHTMLDOMNode *oldChild);
19658
19659     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
19660     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
19661
19662     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
19663     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
19664
19665     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
19666     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
19667
19668     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
19669     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
19670
19671     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
19672     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
19673
19674     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
19675     BSTR nodeName();
19676
19677     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19678     void nodeValue(VARIANT v);
19679
19680     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19681     VARIANT nodeValue();
19682
19683     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
19684     IHTMLDOMNode *firstChild();
19685
19686     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
19687     IHTMLDOMNode *lastChild();
19688
19689     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
19690     IHTMLDOMNode *previousSibling();
19691
19692     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
19693     IHTMLDOMNode *nextSibling();
19694
19695     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
19696     IDispatch *ownerDocument();
19697
19698     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
19699     void dataFld(BSTR v);
19700
19701     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
19702     BSTR dataFld();
19703
19704     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
19705     void dataSrc(BSTR v);
19706
19707     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
19708     BSTR dataSrc();
19709
19710     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
19711     void dataFormatAs(BSTR v);
19712
19713     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
19714     BSTR dataFormatAs();
19715
19716     [propput, id(DISPID_IHTMLTABLE_COLS)]
19717     void cols(LONG v);
19718
19719     [propget, id(DISPID_IHTMLTABLE_COLS)]
19720     LONG cols();
19721
19722     [propput, id(DISPID_IHTMLTABLE_BORDER)]
19723     void border(VARIANT v);
19724
19725     [propget, id(DISPID_IHTMLTABLE_BORDER)]
19726     VARIANT border();
19727
19728     [propput, id(DISPID_IHTMLTABLE_FRAME)]
19729     void frame(BSTR v);
19730
19731     [propget, id(DISPID_IHTMLTABLE_FRAME)]
19732     BSTR frame();
19733
19734     [propput, id(DISPID_IHTMLTABLE_RULES)]
19735     void rules(BSTR v);
19736
19737     [propget, id(DISPID_IHTMLTABLE_RULES)]
19738     BSTR rules();
19739
19740     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
19741     void cellSpacing(VARIANT v);
19742
19743     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
19744     VARIANT cellSpacing();
19745
19746     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
19747     void cellPadding(VARIANT v);
19748
19749     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
19750     VARIANT cellPadding();
19751
19752     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
19753     void background(BSTR v);
19754
19755     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
19756     BSTR background();
19757
19758     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
19759     void bgColor(VARIANT v);
19760
19761     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
19762     VARIANT bgColor();
19763
19764     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
19765     void borderColor(VARIANT v);
19766
19767     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
19768     VARIANT borderColor();
19769
19770     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
19771     void borderColorLight(VARIANT v);
19772
19773     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
19774     VARIANT borderColorLight();
19775
19776     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
19777     void borderColorDark(VARIANT v);
19778
19779     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
19780     VARIANT borderColorDark();
19781
19782     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
19783     void align(BSTR v);
19784
19785     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
19786     BSTR align();
19787
19788     [id(DISPID_IHTMLTABLE_REFRESH)]
19789     void refresh();
19790
19791     [propget, id(DISPID_IHTMLTABLE_ROWS)]
19792     IHTMLElementCollection *rows();
19793
19794     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
19795     void width(VARIANT v);
19796
19797     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
19798     VARIANT width();
19799
19800     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
19801     void height(VARIANT v);
19802
19803     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
19804     VARIANT height();
19805
19806     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
19807     void dataPageSize(LONG v);
19808
19809     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
19810     LONG dataPageSize();
19811
19812     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
19813     void nextPage();
19814
19815     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
19816     void previousPage();
19817
19818     [propget, id(DISPID_IHTMLTABLE_THEAD)]
19819     IHTMLTableSection *tHead();
19820
19821     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
19822     IHTMLTableSection *tFoot();
19823
19824     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
19825     IHTMLElementCollection *tBodies();
19826
19827     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
19828     IHTMLTableCaption *caption();
19829
19830     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
19831     IDispatch *createTHead();
19832
19833     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
19834     void deleteTHead();
19835
19836     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
19837     IDispatch *createTFoot();
19838
19839     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
19840     void deleteTFoot();
19841
19842     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
19843     IHTMLTableCaption *createCaption();
19844
19845     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
19846     void deleteCaption();
19847
19848     [id(DISPID_IHTMLTABLE_INSERTROW)]
19849     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
19850
19851     [id(DISPID_IHTMLTABLE_DELETEROW)]
19852     void deleteRow([in, defaultvalue(-1)] LONG index);
19853
19854     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
19855     void firstPage();
19856
19857     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
19858     void lastPage();
19859
19860     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
19861     IHTMLElementCollection *cells();
19862
19863     [id(DISPID_IHTMLTABLE2_MOVEROW)]
19864     IDispatch *moveRow(
19865             [in, defaultvalue(-1)] LONG indexFrom,
19866             [in, defaultvalue(-1)] LONG indexTo);
19867
19868     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
19869     void summary(BSTR v);
19870
19871     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
19872     BSTR summary();
19873 }
19874
19875 /*****************************************************************************
19876  *    DispHTMLTableRow dispinterface
19877  */
19878 [
19879     hidden,
19880     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
19881 ]
19882 dispinterface DispHTMLTableRow
19883 {
19884 properties:
19885 methods:
19886     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
19887     void setAttribute(
19888             [in] BSTR strAttributeName,
19889             [in] VARIANT AttributeValue,
19890             [in, defaultvalue(1)] LONG lFlags);
19891
19892     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
19893     VARIANT getAttribute(
19894              [in] BSTR strAttributeName,
19895              [in, defaultvalue(0)] LONG lFlags);
19896
19897     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
19898     VARIANT_BOOL removeAttribute(
19899             [in] BSTR strAttributeName,
19900             [in, defaultvalue(1)] LONG lFlags);
19901
19902     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19903     void className(BSTR v);
19904
19905     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19906     BSTR className();
19907
19908     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
19909     void id(BSTR v);
19910
19911     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
19912     BSTR id();
19913
19914     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
19915     BSTR tagName();
19916
19917     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
19918     IHTMLElement *parentElement();
19919
19920     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
19921     IHTMLStyle *style();
19922
19923     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19924     void onhelp(VARIANT v);
19925
19926     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19927     VARIANT onhelp();
19928
19929     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19930     void onclick(VARIANT v);
19931
19932     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19933     VARIANT onclick();
19934
19935     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19936     void ondblclick(VARIANT v);
19937
19938     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19939     VARIANT ondblclick();
19940
19941     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19942     void onkeydown(VARIANT v);
19943
19944     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19945     VARIANT onkeydown();
19946
19947     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19948     void onkeyup(VARIANT v);
19949
19950     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19951     VARIANT onkeyup();
19952
19953     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19954     void onkeypress(VARIANT v);
19955
19956     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19957     VARIANT onkeypress();
19958
19959     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19960     void onmouseout(VARIANT v);
19961
19962     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19963     VARIANT onmouseout();
19964
19965     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19966     void onmouseover(VARIANT v);
19967
19968     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19969     VARIANT onmouseover();
19970
19971     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19972     void onmousemove(VARIANT v);
19973
19974     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19975     VARIANT onmousemove();
19976
19977     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19978     void onmousedown(VARIANT v);
19979
19980     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19981     VARIANT onmousedown();
19982
19983     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19984     void onmouseup(VARIANT v);
19985
19986     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19987     VARIANT onmouseup();
19988
19989     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
19990     IDispatch *document();
19991
19992     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19993     void title(BSTR v);
19994
19995     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19996     BSTR title();
19997
19998     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19999     void language(BSTR v);
20000
20001     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
20002     BSTR language();
20003
20004     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
20005     void onselectstart(VARIANT v);
20006
20007     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
20008     VARIANT onselectstart();
20009
20010     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
20011     void scrollIntoView([in, optional] VARIANT varargStart);
20012
20013     [id(DISPID_IHTMLELEMENT_CONTAINS)]
20014     VARIANT_BOOL contains([in] IHTMLElement *pChild);
20015
20016     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
20017     LONG sourceIndex();
20018
20019     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
20020     VARIANT recordNumber();
20021
20022     [propput, id(DISPID_IHTMLELEMENT_LANG)]
20023     void lang(BSTR v);
20024
20025     [propget, id(DISPID_IHTMLELEMENT_LANG)]
20026     BSTR lang();
20027
20028     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
20029     LONG offsetLeft();
20030
20031     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
20032     LONG offsetTop();
20033
20034     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
20035     LONG offsetWidth();
20036
20037     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
20038     LONG offsetHeight();
20039
20040     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
20041     IHTMLElement *offsetParent();
20042
20043     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
20044     void innerHTML(BSTR v);
20045
20046     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
20047     BSTR innerHTML();
20048
20049     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
20050     void innerText(BSTR v);
20051
20052     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
20053     BSTR innerText();
20054
20055     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
20056     void outerHTML(BSTR v);
20057
20058     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
20059     BSTR outerHTML();
20060
20061     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
20062     void outerText(BSTR v);
20063
20064     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
20065     BSTR outerText();
20066
20067     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
20068     void insertAdjacentHTML(
20069             [in] BSTR where,
20070             [in] BSTR html);
20071
20072     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
20073     void insertAdjacentText(
20074             [in] BSTR where,
20075             [in] BSTR text);
20076
20077     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
20078     IHTMLElement *parentTextEdit();
20079
20080     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
20081     VARIANT_BOOL isTextEdit();
20082
20083     [id(DISPID_IHTMLELEMENT_CLICK)]
20084     void click();
20085
20086     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
20087     IHTMLFiltersCollection *filters();
20088
20089     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
20090     void ondragstart(VARIANT v);
20091
20092     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
20093     VARIANT ondragstart();
20094
20095     [id(DISPID_IHTMLELEMENT_TOSTRING)]
20096     BSTR toString();
20097
20098     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
20099     void onbeforeupdate(VARIANT v);
20100
20101     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
20102     VARIANT onbeforeupdate();
20103
20104     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
20105     void onafterupdate(VARIANT v);
20106
20107     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
20108     VARIANT onafterupdate();
20109
20110     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
20111     void onerrorupdate(VARIANT v);
20112
20113     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
20114     VARIANT onerrorupdate();
20115
20116     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
20117     void onrowexit(VARIANT v);
20118
20119     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
20120     VARIANT onrowexit();
20121
20122     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
20123     void onrowenter(VARIANT v);
20124
20125     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
20126     VARIANT onrowenter();
20127
20128     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
20129     void ondatasetchanged(VARIANT v);
20130
20131     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
20132     VARIANT ondatasetchanged();
20133
20134     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
20135     void ondataavailable(VARIANT v);
20136
20137     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
20138     VARIANT ondataavailable();
20139
20140     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
20141     void ondatasetcomplete(VARIANT v);
20142
20143     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
20144     VARIANT ondatasetcomplete();
20145
20146     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
20147     void onfilterchange(VARIANT v);
20148
20149     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
20150     VARIANT onfilterchange();
20151
20152     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
20153     IDispatch *children();
20154
20155     [propget, id(DISPID_IHTMLELEMENT_ALL)]
20156     IDispatch *all();
20157
20158     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
20159     BSTR scopeName();
20160
20161     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
20162     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
20163
20164     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
20165     void releaseCapture();
20166
20167     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
20168     void onlosecapture(VARIANT v);
20169
20170     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
20171     VARIANT onlosecapture();
20172
20173     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
20174     BSTR componentFromPoint(
20175             [in] LONG x,
20176             [in] LONG y);
20177
20178     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
20179     void doScroll([in, optional] VARIANT component);
20180
20181     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
20182     void onscroll(VARIANT v);
20183
20184     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
20185     VARIANT onscroll();
20186
20187     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
20188     void ondrag(VARIANT v);
20189
20190     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
20191     VARIANT ondrag();
20192
20193     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
20194     void ondragend(VARIANT v);
20195
20196     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
20197     VARIANT ondragend();
20198
20199     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
20200     void ondragenter(VARIANT v);
20201
20202     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
20203     VARIANT ondragenter();
20204
20205     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
20206     void ondragover(VARIANT v);
20207
20208     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
20209     VARIANT ondragover();
20210
20211     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
20212     void ondragleave(VARIANT v);
20213
20214     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
20215     VARIANT ondragleave();
20216
20217     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
20218     void ondrop(VARIANT v);
20219
20220     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
20221     VARIANT ondrop();
20222
20223     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
20224     void onbeforecut(VARIANT v);
20225
20226     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
20227     VARIANT onbeforecut();
20228
20229     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
20230     void oncut(VARIANT v);
20231
20232     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
20233     VARIANT oncut();
20234
20235     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
20236     void onbeforecopy(VARIANT v);
20237
20238     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
20239     VARIANT onbeforecopy();
20240
20241     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
20242     void oncopy(VARIANT v);
20243
20244     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
20245     VARIANT oncopy();
20246
20247     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
20248     void onbeforepaste(VARIANT v);
20249
20250     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
20251     VARIANT onbeforepaste();
20252
20253     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
20254     void onpaste(VARIANT v);
20255
20256     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
20257     VARIANT onpaste();
20258
20259     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
20260     IHTMLCurrentStyle *currentStyle();
20261
20262     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
20263     void onpropertychange(VARIANT v);
20264
20265     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
20266     VARIANT onpropertychange();
20267
20268     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
20269     IHTMLRectCollection *getClientRects();
20270
20271     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
20272     IHTMLRect *getBoundingClientRect();
20273
20274     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
20275     void setExpression(
20276             [in] BSTR propname,
20277             [in] BSTR expression,
20278             [in, defaultvalue("")] BSTR language);
20279
20280     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
20281     VARIANT getExpression([in] BSTR propname);
20282
20283     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
20284     VARIANT_BOOL removeExpression([in] BSTR propname);
20285
20286     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
20287     void tabIndex(short v);
20288
20289     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
20290     short tabIndex();
20291
20292     [id(DISPID_IHTMLELEMENT2_FOCUS)]
20293     void focus();
20294
20295     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
20296     void accessKey(BSTR v);
20297
20298     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
20299     BSTR accessKey();
20300
20301     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
20302     void onblur(VARIANT v);
20303
20304     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
20305     VARIANT onblur();
20306
20307     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
20308     void onfocus(VARIANT v);
20309
20310     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
20311     VARIANT onfocus();
20312
20313     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
20314     void onresize(VARIANT v);
20315
20316     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
20317     VARIANT onresize();
20318
20319     [id(DISPID_IHTMLELEMENT2_BLUR)]
20320     void blur();
20321
20322     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
20323     void addFilter([in] IUnknown *pUnk);
20324
20325     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
20326     void removeFilter([in] IUnknown *pUnk);
20327
20328     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
20329     LONG clientHeight();
20330
20331     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
20332     LONG clientWidth();
20333
20334     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
20335     LONG clientTop();
20336
20337     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
20338     LONG clientLeft();
20339
20340     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
20341     VARIANT_BOOL attachEvent(
20342             [in] BSTR event,
20343             [in] IDispatch *pDisp);
20344
20345     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
20346     void detachEvent(
20347             [in] BSTR event,
20348             [in] IDispatch *pDisp);
20349
20350     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
20351     VARIANT readyState();
20352
20353     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
20354     void onreadystatechange(VARIANT v);
20355
20356     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
20357     VARIANT onreadystatechange();
20358
20359     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
20360     void onrowsdelete(VARIANT v);
20361
20362     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
20363     VARIANT onrowsdelete();
20364
20365     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
20366     void onrowsinserted(VARIANT v);
20367
20368     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
20369      VARIANT onrowsinserted();
20370
20371     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
20372      void oncellchange(VARIANT v);
20373
20374     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
20375     VARIANT oncellchange();
20376
20377     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
20378     void dir(BSTR v);
20379
20380     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
20381     BSTR dir();
20382
20383     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
20384     IDispatch *createControlRange();
20385
20386     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
20387     LONG scrollHeight();
20388
20389     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
20390     LONG scrollWidth();
20391
20392     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
20393     void scrollTop(LONG v);
20394
20395     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
20396     LONG scrollTop();
20397
20398     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
20399     void scrollLeft(LONG v);
20400
20401     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
20402     LONG scrollLeft();
20403
20404     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
20405     void clearAttributes();
20406
20407     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
20408     void oncontextmenu(VARIANT v);
20409
20410     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
20411     VARIANT oncontextmenu();
20412
20413     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
20414     IHTMLElement *insertAdjacentElement(
20415             [in] BSTR where,
20416             [in] IHTMLElement *insertedElement);
20417
20418     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
20419     IHTMLElement *applyElement(
20420             [in] IHTMLElement *apply,
20421             [in] BSTR where);
20422
20423     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
20424     BSTR getAdjacentText([in] BSTR where);
20425
20426     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
20427     BSTR replaceAdjacentText(
20428             [in] BSTR where,
20429             [in] BSTR newText);
20430
20431     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
20432     VARIANT_BOOL canHaveChildren();
20433
20434     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
20435     LONG addBehavior(
20436             [in] BSTR bstrUrl,
20437             [in, optional] VARIANT *pvarFactory);
20438
20439     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
20440     VARIANT_BOOL removeBehavior([in] LONG cookie);
20441
20442     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
20443     IHTMLStyle *runtimeStyle();
20444
20445     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
20446     IDispatch *behaviorUrns();
20447
20448     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
20449     void tagUrn(BSTR v);
20450
20451     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
20452     BSTR tagUrn();
20453
20454     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
20455     void onbeforeeditfocus(VARIANT v);
20456
20457     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
20458     VARIANT onbeforeeditfocus();
20459
20460     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
20461     LONG readyStateValue();
20462
20463     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
20464     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
20465
20466     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
20467     void mergeAttributes(
20468             [in] IHTMLElement *mergeThis,
20469             [in, optional] VARIANT *pvarFlags);
20470
20471     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
20472     VARIANT_BOOL isMultiLine();
20473
20474     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
20475     VARIANT_BOOL canHaveHTML();
20476
20477     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20478     void onlayoutcomplete(VARIANT v);
20479
20480     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20481     VARIANT onlayoutcomplete();
20482
20483     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20484     void onpage(VARIANT v);
20485
20486     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20487     VARIANT onpage();
20488
20489     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20490     void inflateBlock(VARIANT_BOOL v);
20491
20492     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20493     VARIANT_BOOL inflateBlock();
20494
20495     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20496     void onbeforedeactivate(VARIANT v);
20497
20498     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20499     VARIANT onbeforedeactivate();
20500
20501     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
20502     void setActive();
20503
20504     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20505     void contentEditable(BSTR v);
20506
20507     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20508     BSTR contentEditable();
20509
20510     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
20511     VARIANT_BOOL isContentEditable();
20512
20513     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
20514     void hideFocus(VARIANT_BOOL v);
20515
20516     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
20517     VARIANT_BOOL hideFocus();
20518
20519     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
20520     void disabled(VARIANT_BOOL v);
20521
20522     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
20523     VARIANT_BOOL disabled();
20524
20525     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
20526     VARIANT_BOOL isDisabled();
20527
20528     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
20529     void onmove(VARIANT v);
20530
20531     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
20532     VARIANT onmove();
20533
20534     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
20535     void oncontrolselect(VARIANT v);
20536
20537     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
20538     VARIANT oncontrolselect();
20539
20540     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
20541     VARIANT_BOOL fireEvent(
20542             [in] BSTR bstrEventName,
20543             [in, optional] VARIANT *pvarEventObject);
20544
20545     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
20546     void onresizestart(VARIANT v);
20547
20548     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
20549     VARIANT onresizestart();
20550
20551     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
20552     void onresizeend(VARIANT v);
20553
20554     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
20555     VARIANT onresizeend();
20556
20557     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
20558     void onmovestart(VARIANT v);
20559
20560     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
20561     VARIANT onmovestart();
20562
20563     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
20564     void onmoveend(VARIANT v);
20565
20566     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
20567     VARIANT onmoveend();
20568
20569     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
20570     void onmouseenter(VARIANT v);
20571
20572     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
20573     VARIANT onmouseenter();
20574
20575     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
20576     void onmouseleave(VARIANT v);
20577
20578     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
20579     VARIANT onmouseleave();
20580
20581     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
20582     void onactivate(VARIANT v);
20583
20584     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
20585     VARIANT onactivate();
20586
20587     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20588     void ondeactivate(VARIANT v);
20589
20590     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20591     VARIANT ondeactivate();
20592
20593     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
20594     VARIANT_BOOL dragDrop();
20595
20596     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
20597     LONG glyphMode();
20598
20599     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20600     void onmousewheel(VARIANT v);
20601
20602     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20603     VARIANT onmousewheel();
20604
20605     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
20606     void normalize();
20607
20608     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
20609     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
20610
20611     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
20612     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
20613
20614     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
20615     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
20616
20617     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20618     void onbeforeactivate(VARIANT v);
20619
20620     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20621     VARIANT onbeforeactivate();
20622
20623     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20624     void onfocusin(VARIANT v);
20625
20626     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20627     VARIANT onfocusin();
20628
20629     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20630     void onfocusout(VARIANT v);
20631
20632     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20633     VARIANT onfocusout();
20634
20635     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
20636     LONG uniqueNumber();
20637
20638     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
20639     BSTR uniqueID();
20640
20641     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
20642     LONG nodeType();
20643
20644     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
20645     IHTMLDOMNode *parentNode();
20646
20647     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
20648     VARIANT_BOOL hasChildNodes();
20649
20650     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
20651     IDispatch *childNodes();
20652
20653     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
20654     IDispatch *attributes();
20655
20656     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
20657     IHTMLDOMNode *insertBefore(
20658             [in] IHTMLDOMNode *newChild,
20659             [in, optional] VARIANT refChild);
20660
20661     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
20662     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
20663
20664     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
20665     IHTMLDOMNode *replaceChild(
20666             [in] IHTMLDOMNode *newChild,
20667             [in] IHTMLDOMNode *oldChild);
20668
20669     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
20670     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
20671
20672     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
20673     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
20674
20675     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
20676     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
20677
20678     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
20679     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
20680
20681     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
20682     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
20683
20684     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
20685     BSTR nodeName();
20686
20687     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20688     void nodeValue(VARIANT v);
20689
20690     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20691     VARIANT nodeValue();
20692
20693     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
20694     IHTMLDOMNode *firstChild();
20695
20696     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
20697     IHTMLDOMNode *lastChild();
20698
20699     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
20700     IHTMLDOMNode *previousSibling();
20701
20702     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
20703     IHTMLDOMNode *nextSibling();
20704
20705     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
20706     IDispatch *ownerDocument();
20707
20708     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
20709     void align(BSTR v);
20710
20711     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
20712     BSTR align();
20713
20714     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
20715     void vAlign(BSTR v);
20716
20717     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
20718     BSTR vAlign();
20719
20720     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
20721     void bgColor(VARIANT v);
20722
20723     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
20724     VARIANT bgColor();
20725
20726     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
20727     void borderColor(VARIANT v);
20728
20729     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
20730     VARIANT borderColor();
20731
20732     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
20733     void borderColorLight(VARIANT v);
20734
20735     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
20736     VARIANT borderColorLight();
20737
20738     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
20739     void borderColorDark(VARIANT v);
20740
20741     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
20742     VARIANT borderColorDark();
20743
20744     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
20745     LONG rowIndex();
20746
20747     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
20748     LONG sectionRowIndex();
20749
20750     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
20751     IHTMLElementCollection *cells();
20752
20753     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
20754     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
20755
20756     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
20757     void deleteCell([in, defaultvalue(-1)] LONG index);
20758
20759     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
20760     void height(VARIANT v);
20761
20762     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
20763     VARIANT height();
20764
20765     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
20766     void ch(BSTR v);
20767
20768     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
20769     BSTR ch();
20770
20771     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
20772     void chOff(BSTR v);
20773
20774     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
20775     BSTR chOff();
20776 }
20777
20778 /*****************************************************************************
20779  *    IHTMLScriptElement interface
20780  */
20781 [
20782     odl,
20783     oleautomation,
20784     dual,
20785     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
20786 ]
20787 interface IHTMLScriptElement : IDispatch
20788 {
20789     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
20790     HRESULT src([in] BSTR v);
20791
20792     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
20793     HRESULT src([retval, out] BSTR *p);
20794
20795     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
20796     HRESULT htmlFor([in] BSTR v);
20797
20798     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
20799     HRESULT htmlFor([retval, out] BSTR *p);
20800
20801     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
20802     HRESULT event([in] BSTR v);
20803
20804     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
20805     HRESULT event([retval, out] BSTR *p);
20806
20807     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
20808     HRESULT text([in] BSTR v);
20809
20810     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
20811     HRESULT text([retval, out] BSTR *p);
20812
20813     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
20814     HRESULT defer([in] VARIANT_BOOL v);
20815
20816     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
20817     HRESULT defer([retval, out] VARIANT_BOOL *p);
20818
20819     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
20820     HRESULT readyState([retval, out] BSTR *p);
20821
20822     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
20823     HRESULT onerror([in] VARIANT v);
20824
20825     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
20826     HRESULT onerror([retval, out] VARIANT *p);
20827
20828     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
20829     HRESULT type([in] BSTR v);
20830
20831     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
20832     HRESULT type([retval, out] BSTR *p);
20833 }
20834
20835 /*****************************************************************************
20836  *    IHTMLScriptElement2 interface
20837  */
20838 [
20839     odl,
20840     oleautomation,
20841     dual,
20842     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
20843 ]
20844 interface IHTMLScriptElement2 : IDispatch
20845 {
20846     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
20847     HRESULT charset([in] BSTR v);
20848
20849     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
20850     HRESULT charset([retval, out] BSTR *p);
20851 }
20852
20853 /*****************************************************************************
20854  *    IHTMLFrameBase interface
20855  */
20856 [
20857     odl,
20858     oleautomation,
20859     dual,
20860     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
20861 ]
20862 interface IHTMLFrameBase : IDispatch
20863 {
20864     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
20865     HRESULT src([in] BSTR v);
20866
20867     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
20868     HRESULT src([out, retval] BSTR *p);
20869
20870     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
20871     HRESULT name([in] BSTR v);
20872
20873     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
20874     HRESULT name([out, retval] BSTR *p);
20875
20876     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20877     HRESULT border([in] VARIANT v);
20878
20879     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20880     HRESULT border([out, retval] VARIANT *p);
20881
20882     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20883     HRESULT frameBorder([in] BSTR v);
20884
20885     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20886     HRESULT frameBorder([out, retval] BSTR *p);
20887
20888     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20889     HRESULT frameSpacing([in] VARIANT v);
20890
20891     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20892     HRESULT frameSpacing([out, retval] VARIANT *p);
20893
20894     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20895     HRESULT marginWidth([in] VARIANT v);
20896
20897     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20898     HRESULT marginWidth([out, retval] VARIANT *p);
20899
20900     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20901     HRESULT marginHeight([in] VARIANT v);
20902
20903     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20904     HRESULT marginHeight([out, retval] VARIANT *p);
20905
20906     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20907     HRESULT noResize([in] VARIANT_BOOL v);
20908
20909     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20910     HRESULT noResize([out, retval] VARIANT_BOOL *p);
20911
20912     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20913     HRESULT scrolling([in] BSTR v);
20914
20915     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20916     HRESULT scrolling([out, retval] BSTR *p);
20917 }
20918
20919 /*****************************************************************************
20920  *    IHTMLFrameBase2 interface
20921  */
20922 [
20923     odl,
20924     oleautomation,
20925     dual,
20926     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
20927 ]
20928 interface IHTMLFrameBase2 : IDispatch
20929 {
20930     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
20931     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
20932
20933     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20934     HRESULT onload([in] VARIANT v);
20935
20936     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20937     HRESULT onload([retval, out] VARIANT *p);
20938
20939     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
20940     HRESULT onreadystatechange([in] VARIANT v);
20941
20942     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
20943     HRESULT onreadystatechange([retval, out] VARIANT *p);
20944
20945     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
20946     HRESULT readyState([retval, out] BSTR *p);
20947
20948     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20949     HRESULT allowTransparency([in] VARIANT_BOOL v);
20950
20951     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20952     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
20953 }
20954
20955 /*****************************************************************************
20956  *    DispHTMLIFrame dispinterface
20957  */
20958 [
20959     hidden,
20960     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
20961 ]
20962 dispinterface DispHTMLIFrame
20963 {
20964 properties:
20965 methods:
20966     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
20967     void setAttribute(
20968             [in] BSTR strAttributeName,
20969             [in] VARIANT AttributeValue,
20970             [in, defaultvalue(1)] LONG lFlags);
20971
20972     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
20973     VARIANT getAttribute(
20974              [in] BSTR strAttributeName,
20975              [in, defaultvalue(0)] LONG lFlags);
20976
20977     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
20978     VARIANT_BOOL removeAttribute(
20979             [in] BSTR strAttributeName,
20980             [in, defaultvalue(1)] LONG lFlags);
20981
20982     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
20983     void className(BSTR v);
20984
20985     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
20986     BSTR className();
20987
20988     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
20989     void id(BSTR v);
20990
20991     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
20992     BSTR id();
20993
20994     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
20995     BSTR tagName();
20996
20997     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
20998     IHTMLElement *parentElement();
20999
21000     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
21001     IHTMLStyle *style();
21002
21003     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
21004     void onhelp(VARIANT v);
21005
21006     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
21007     VARIANT onhelp();
21008
21009     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
21010     void onclick(VARIANT v);
21011
21012     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
21013     VARIANT onclick();
21014
21015     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
21016     void ondblclick(VARIANT v);
21017
21018     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
21019     VARIANT ondblclick();
21020
21021     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
21022     void onkeydown(VARIANT v);
21023
21024     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
21025     VARIANT onkeydown();
21026
21027     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
21028     void onkeyup(VARIANT v);
21029
21030     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
21031     VARIANT onkeyup();
21032
21033     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
21034     void onkeypress(VARIANT v);
21035
21036     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
21037     VARIANT onkeypress();
21038
21039     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
21040     void onmouseout(VARIANT v);
21041
21042     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
21043     VARIANT onmouseout();
21044
21045     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
21046     void onmouseover(VARIANT v);
21047
21048     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
21049     VARIANT onmouseover();
21050
21051     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
21052     void onmousemove(VARIANT v);
21053
21054     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
21055     VARIANT onmousemove();
21056
21057     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
21058     void onmousedown(VARIANT v);
21059
21060     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
21061     VARIANT onmousedown();
21062
21063     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
21064     void onmouseup(VARIANT v);
21065
21066     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
21067     VARIANT onmouseup();
21068
21069     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
21070     IDispatch *document();
21071
21072     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
21073     void title(BSTR v);
21074
21075     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
21076     BSTR title();
21077
21078     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
21079     void language(BSTR v);
21080
21081     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
21082     BSTR language();
21083
21084     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
21085     void onselectstart(VARIANT v);
21086
21087     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
21088     VARIANT onselectstart();
21089
21090     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
21091     void scrollIntoView([in, optional] VARIANT varargStart);
21092
21093     [id(DISPID_IHTMLELEMENT_CONTAINS)]
21094     VARIANT_BOOL contains([in] IHTMLElement *pChild);
21095
21096     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
21097     LONG sourceIndex();
21098
21099     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
21100     VARIANT recordNumber();
21101
21102     [propput, id(DISPID_IHTMLELEMENT_LANG)]
21103     void lang(BSTR v);
21104
21105     [propget, id(DISPID_IHTMLELEMENT_LANG)]
21106     BSTR lang();
21107
21108     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
21109     LONG offsetLeft();
21110
21111     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
21112     LONG offsetTop();
21113
21114     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
21115     LONG offsetWidth();
21116
21117     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
21118     LONG offsetHeight();
21119
21120     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
21121     IHTMLElement *offsetParent();
21122
21123     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
21124     void innerHTML(BSTR v);
21125
21126     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
21127     BSTR innerHTML();
21128
21129     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
21130     void innerText(BSTR v);
21131
21132     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
21133     BSTR innerText();
21134
21135     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
21136     void outerHTML(BSTR v);
21137
21138     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
21139     BSTR outerHTML();
21140
21141     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
21142     void outerText(BSTR v);
21143
21144     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
21145     BSTR outerText();
21146
21147     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
21148     void insertAdjacentHTML(
21149             [in] BSTR where,
21150             [in] BSTR html);
21151
21152     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
21153     void insertAdjacentText(
21154             [in] BSTR where,
21155             [in] BSTR text);
21156
21157     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
21158     IHTMLElement *parentTextEdit();
21159
21160     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
21161     VARIANT_BOOL isTextEdit();
21162
21163     [id(DISPID_IHTMLELEMENT_CLICK)]
21164     void click();
21165
21166     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
21167     IHTMLFiltersCollection *filters();
21168
21169     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
21170     void ondragstart(VARIANT v);
21171
21172     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
21173     VARIANT ondragstart();
21174
21175     [id(DISPID_IHTMLELEMENT_TOSTRING)]
21176     BSTR toString();
21177
21178     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
21179     void onbeforeupdate(VARIANT v);
21180
21181     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
21182     VARIANT onbeforeupdate();
21183
21184     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
21185     void onafterupdate(VARIANT v);
21186
21187     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
21188     VARIANT onafterupdate();
21189
21190     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
21191     void onerrorupdate(VARIANT v);
21192
21193     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
21194     VARIANT onerrorupdate();
21195
21196     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
21197     void onrowexit(VARIANT v);
21198
21199     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
21200     VARIANT onrowexit();
21201
21202     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
21203     void onrowenter(VARIANT v);
21204
21205     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
21206     VARIANT onrowenter();
21207
21208     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
21209     void ondatasetchanged(VARIANT v);
21210
21211     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
21212     VARIANT ondatasetchanged();
21213
21214     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
21215     void ondataavailable(VARIANT v);
21216
21217     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
21218     VARIANT ondataavailable();
21219
21220     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
21221     void ondatasetcomplete(VARIANT v);
21222
21223     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
21224     VARIANT ondatasetcomplete();
21225
21226     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
21227     void onfilterchange(VARIANT v);
21228
21229     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
21230     VARIANT onfilterchange();
21231
21232     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
21233     IDispatch *children();
21234
21235     [propget, id(DISPID_IHTMLELEMENT_ALL)]
21236     IDispatch *all();
21237
21238     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
21239     BSTR scopeName();
21240
21241     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
21242     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
21243
21244     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
21245     void releaseCapture();
21246
21247     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
21248     void onlosecapture(VARIANT v);
21249
21250     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
21251     VARIANT onlosecapture();
21252
21253     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
21254     BSTR componentFromPoint(
21255             [in] LONG x,
21256             [in] LONG y);
21257
21258     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
21259     void doScroll([in, optional] VARIANT component);
21260
21261     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
21262     void onscroll(VARIANT v);
21263
21264     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
21265     VARIANT onscroll();
21266
21267     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
21268     void ondrag(VARIANT v);
21269
21270     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
21271     VARIANT ondrag();
21272
21273     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
21274     void ondragend(VARIANT v);
21275
21276     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
21277     VARIANT ondragend();
21278
21279     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
21280     void ondragenter(VARIANT v);
21281
21282     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
21283     VARIANT ondragenter();
21284
21285     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
21286     void ondragover(VARIANT v);
21287
21288     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
21289     VARIANT ondragover();
21290
21291     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
21292     void ondragleave(VARIANT v);
21293
21294     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
21295     VARIANT ondragleave();
21296
21297     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
21298     void ondrop(VARIANT v);
21299
21300     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
21301     VARIANT ondrop();
21302
21303     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
21304     void onbeforecut(VARIANT v);
21305
21306     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
21307     VARIANT onbeforecut();
21308
21309     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
21310     void oncut(VARIANT v);
21311
21312     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
21313     VARIANT oncut();
21314
21315     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
21316     void onbeforecopy(VARIANT v);
21317
21318     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
21319     VARIANT onbeforecopy();
21320
21321     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
21322     void oncopy(VARIANT v);
21323
21324     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
21325     VARIANT oncopy();
21326
21327     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
21328     void onbeforepaste(VARIANT v);
21329
21330     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
21331     VARIANT onbeforepaste();
21332
21333     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
21334     void onpaste(VARIANT v);
21335
21336     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
21337     VARIANT onpaste();
21338
21339     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
21340     IHTMLCurrentStyle *currentStyle();
21341
21342     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
21343     void onpropertychange(VARIANT v);
21344
21345     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
21346     VARIANT onpropertychange();
21347
21348     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
21349     IHTMLRectCollection *getClientRects();
21350
21351     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
21352     IHTMLRect *getBoundingClientRect();
21353
21354     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
21355     void setExpression(
21356             [in] BSTR propname,
21357             [in] BSTR expression,
21358             [in, defaultvalue("")] BSTR language);
21359
21360     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
21361     VARIANT getExpression([in] BSTR propname);
21362
21363     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
21364     VARIANT_BOOL removeExpression([in] BSTR propname);
21365
21366     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
21367     void tabIndex(short v);
21368
21369     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
21370     short tabIndex();
21371
21372     [id(DISPID_IHTMLELEMENT2_FOCUS)]
21373     void focus();
21374
21375     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
21376     void accessKey(BSTR v);
21377
21378     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
21379     BSTR accessKey();
21380
21381     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
21382     void onblur(VARIANT v);
21383
21384     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
21385     VARIANT onblur();
21386
21387     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
21388     void onfocus(VARIANT v);
21389
21390     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
21391     VARIANT onfocus();
21392
21393     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
21394     void onresize(VARIANT v);
21395
21396     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
21397     VARIANT onresize();
21398
21399     [id(DISPID_IHTMLELEMENT2_BLUR)]
21400     void blur();
21401
21402     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
21403     void addFilter([in] IUnknown *pUnk);
21404
21405     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
21406     void removeFilter([in] IUnknown *pUnk);
21407
21408     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
21409     LONG clientHeight();
21410
21411     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
21412     LONG clientWidth();
21413
21414     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
21415     LONG clientTop();
21416
21417     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
21418     LONG clientLeft();
21419
21420     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
21421     VARIANT_BOOL attachEvent(
21422             [in] BSTR event,
21423             [in] IDispatch *pDisp);
21424
21425     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
21426     void detachEvent(
21427             [in] BSTR event,
21428             [in] IDispatch *pDisp);
21429
21430     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
21431     VARIANT readyState();
21432
21433     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
21434     void onreadystatechange(VARIANT v);
21435
21436     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
21437     VARIANT onreadystatechange();
21438
21439     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
21440     void onrowsdelete(VARIANT v);
21441
21442     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
21443     VARIANT onrowsdelete();
21444
21445     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
21446     void onrowsinserted(VARIANT v);
21447
21448     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
21449      VARIANT onrowsinserted();
21450
21451     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
21452      void oncellchange(VARIANT v);
21453
21454     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
21455     VARIANT oncellchange();
21456
21457     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
21458     void dir(BSTR v);
21459
21460     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
21461     BSTR dir();
21462
21463     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
21464     IDispatch *createControlRange();
21465
21466     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
21467     LONG scrollHeight();
21468
21469     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
21470     LONG scrollWidth();
21471
21472     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
21473     void scrollTop(LONG v);
21474
21475     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
21476     LONG scrollTop();
21477
21478     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
21479     void scrollLeft(LONG v);
21480
21481     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
21482     LONG scrollLeft();
21483
21484     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
21485     void clearAttributes();
21486
21487     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
21488     void oncontextmenu(VARIANT v);
21489
21490     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
21491     VARIANT oncontextmenu();
21492
21493     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
21494     IHTMLElement *insertAdjacentElement(
21495             [in] BSTR where,
21496             [in] IHTMLElement *insertedElement);
21497
21498     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
21499     IHTMLElement *applyElement(
21500             [in] IHTMLElement *apply,
21501             [in] BSTR where);
21502
21503     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
21504     BSTR getAdjacentText([in] BSTR where);
21505
21506     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
21507     BSTR replaceAdjacentText(
21508             [in] BSTR where,
21509             [in] BSTR newText);
21510
21511     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
21512     VARIANT_BOOL canHaveChildren();
21513
21514     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
21515     LONG addBehavior(
21516             [in] BSTR bstrUrl,
21517             [in, optional] VARIANT *pvarFactory);
21518
21519     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
21520     VARIANT_BOOL removeBehavior([in] LONG cookie);
21521
21522     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
21523     IHTMLStyle *runtimeStyle();
21524
21525     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
21526     IDispatch *behaviorUrns();
21527
21528     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
21529     void tagUrn(BSTR v);
21530
21531     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
21532     BSTR tagUrn();
21533
21534     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
21535     void onbeforeeditfocus(VARIANT v);
21536
21537     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
21538     VARIANT onbeforeeditfocus();
21539
21540     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
21541     LONG readyStateValue();
21542
21543     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
21544     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
21545
21546     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
21547     void mergeAttributes(
21548             [in] IHTMLElement *mergeThis,
21549             [in, optional] VARIANT *pvarFlags);
21550
21551     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
21552     VARIANT_BOOL isMultiLine();
21553
21554     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
21555     VARIANT_BOOL canHaveHTML();
21556
21557     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
21558     void onlayoutcomplete(VARIANT v);
21559
21560     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
21561     VARIANT onlayoutcomplete();
21562
21563     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
21564     void onpage(VARIANT v);
21565
21566     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
21567     VARIANT onpage();
21568
21569     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
21570     void inflateBlock(VARIANT_BOOL v);
21571
21572     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
21573     VARIANT_BOOL inflateBlock();
21574
21575     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
21576     void onbeforedeactivate(VARIANT v);
21577
21578     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
21579     VARIANT onbeforedeactivate();
21580
21581     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
21582     void setActive();
21583
21584     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
21585     void contentEditable(BSTR v);
21586
21587     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
21588     BSTR contentEditable();
21589
21590     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
21591     VARIANT_BOOL isContentEditable();
21592
21593     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
21594     void hideFocus(VARIANT_BOOL v);
21595
21596     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
21597     VARIANT_BOOL hideFocus();
21598
21599     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
21600     void disabled(VARIANT_BOOL v);
21601
21602     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
21603     VARIANT_BOOL disabled();
21604
21605     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
21606     VARIANT_BOOL isDisabled();
21607
21608     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
21609     void onmove(VARIANT v);
21610
21611     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
21612     VARIANT onmove();
21613
21614     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
21615     void oncontrolselect(VARIANT v);
21616
21617     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
21618     VARIANT oncontrolselect();
21619
21620     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
21621     VARIANT_BOOL fireEvent(
21622             [in] BSTR bstrEventName,
21623             [in, optional] VARIANT *pvarEventObject);
21624
21625     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
21626     void onresizestart(VARIANT v);
21627
21628     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
21629     VARIANT onresizestart();
21630
21631     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
21632     void onresizeend(VARIANT v);
21633
21634     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
21635     VARIANT onresizeend();
21636
21637     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
21638     void onmovestart(VARIANT v);
21639
21640     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
21641     VARIANT onmovestart();
21642
21643     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
21644     void onmoveend(VARIANT v);
21645
21646     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
21647     VARIANT onmoveend();
21648
21649     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
21650     void onmouseenter(VARIANT v);
21651
21652     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
21653     VARIANT onmouseenter();
21654
21655     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
21656     void onmouseleave(VARIANT v);
21657
21658     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
21659     VARIANT onmouseleave();
21660
21661     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
21662     void onactivate(VARIANT v);
21663
21664     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
21665     VARIANT onactivate();
21666
21667     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
21668     void ondeactivate(VARIANT v);
21669
21670     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
21671     VARIANT ondeactivate();
21672
21673     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
21674     VARIANT_BOOL dragDrop();
21675
21676     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
21677     LONG glyphMode();
21678
21679     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
21680     void onmousewheel(VARIANT v);
21681
21682     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
21683     VARIANT onmousewheel();
21684
21685     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
21686     void normalize();
21687
21688     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
21689     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
21690
21691     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
21692     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
21693
21694     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
21695     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
21696
21697     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
21698     void onbeforeactivate(VARIANT v);
21699
21700     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
21701     VARIANT onbeforeactivate();
21702
21703     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
21704     void onfocusin(VARIANT v);
21705
21706     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
21707     VARIANT onfocusin();
21708
21709     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
21710     void onfocusout(VARIANT v);
21711
21712     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
21713     VARIANT onfocusout();
21714
21715     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
21716     LONG uniqueNumber();
21717
21718     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
21719     BSTR uniqueID();
21720
21721     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
21722     LONG nodeType();
21723
21724     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
21725     IHTMLDOMNode *parentNode();
21726
21727     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
21728     VARIANT_BOOL hasChildNodes();
21729
21730     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
21731     IDispatch *childNodes();
21732
21733     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
21734     IDispatch *attributes();
21735
21736     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
21737     IHTMLDOMNode *insertBefore(
21738             [in] IHTMLDOMNode *newChild,
21739             [in, optional] VARIANT refChild);
21740
21741     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
21742     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
21743
21744     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
21745     IHTMLDOMNode *replaceChild(
21746             [in] IHTMLDOMNode *newChild,
21747             [in] IHTMLDOMNode *oldChild);
21748
21749     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
21750     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
21751
21752     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
21753     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
21754
21755     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
21756     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
21757
21758     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
21759     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
21760
21761     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
21762     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
21763
21764     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
21765     BSTR nodeName();
21766
21767     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
21768     void nodeValue(VARIANT v);
21769
21770     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
21771     VARIANT nodeValue();
21772
21773     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
21774     IHTMLDOMNode *firstChild();
21775
21776     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
21777     IHTMLDOMNode *lastChild();
21778
21779     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
21780     IHTMLDOMNode *previousSibling();
21781
21782     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
21783     IHTMLDOMNode *nextSibling();
21784
21785     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
21786     IDispatch *ownerDocument();
21787
21788     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
21789     void dataFld(BSTR v);
21790
21791     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
21792     BSTR dataFld();
21793
21794     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
21795     void dataSrc(BSTR v);
21796
21797     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
21798     BSTR dataSrc();
21799
21800     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
21801     void dataFormatAs(BSTR v);
21802
21803     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
21804     BSTR dataFormatAs();
21805
21806     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
21807     void src(BSTR v);
21808
21809     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
21810     BSTR src();
21811
21812     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
21813     void name(BSTR v);
21814
21815     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
21816     BSTR name();
21817
21818     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
21819     void border(VARIANT v);
21820
21821     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
21822     VARIANT border();
21823
21824     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
21825     void frameBorder(BSTR v);
21826
21827     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
21828     BSTR frameBorder();
21829
21830     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
21831     void frameSpacing(VARIANT v);
21832
21833     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
21834     VARIANT frameSpacing();
21835
21836     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
21837     void marginWidth(VARIANT v);
21838
21839     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
21840     VARIANT marginWidth();
21841
21842     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
21843     void marginHeight(VARIANT v);
21844
21845     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
21846     VARIANT marginHeight();
21847
21848     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
21849     void noResize(VARIANT_BOOL v);
21850
21851     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
21852     VARIANT_BOOL noResize();
21853
21854     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
21855     void scrolling(BSTR v);
21856
21857     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
21858     BSTR scrolling();
21859
21860     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
21861     IHTMLWindow2 *contentWindow();
21862
21863     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
21864     void onload(VARIANT v);
21865
21866     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
21867     VARIANT onload();
21868
21869     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
21870     void allowTransparency(VARIANT_BOOL v);
21871
21872     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
21873     VARIANT_BOOL allowTransparency();
21874
21875     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
21876     void longDesc(BSTR v);
21877
21878     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
21879     BSTR longDesc();
21880
21881     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
21882     void vspace(LONG v);
21883
21884     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
21885     LONG vspace();
21886
21887     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
21888     void hspace(LONG v);
21889
21890     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
21891     LONG hspace();
21892
21893     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
21894     void align(BSTR v);
21895
21896     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
21897     BSTR align();
21898
21899     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
21900     void height(VARIANT v);
21901
21902     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
21903     VARIANT height();
21904
21905     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
21906     void width(VARIANT v);
21907
21908     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
21909     VARIANT width();
21910 }
21911
21912 /*****************************************************************************
21913  *    IMarkupContainer interface
21914  */
21915 [
21916     object,
21917     pointer_default(unique),
21918     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
21919 ]
21920 interface IMarkupContainer : IUnknown
21921 {
21922     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
21923 }
21924
21925 /*****************************************************************************
21926  *    IMarkupPointer interface
21927  */
21928 [
21929     object,
21930     pointer_default(unique),
21931     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
21932 ]
21933 interface IMarkupPointer : IUnknown
21934 {
21935     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
21936
21937     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
21938
21939     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
21940
21941     HRESULT Cling([out] BOOL *pfCling);
21942
21943     HRESULT SetCling([in] BOOL fCLing);
21944
21945     HRESULT UnPosition();
21946
21947     HRESULT IsPositioned([out] BOOL *pfPositioned);
21948
21949     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
21950
21951     HRESULT MoveAdjacentToElement(
21952         [in] IHTMLElement *pElement,
21953         [in] ELEMENT_ADJACENCY eAdj);
21954
21955     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
21956
21957     HRESULT MoveToContainer(
21958         [in] IMarkupContainer *pContainer,
21959         [in] BOOL fAtStart);
21960
21961     HRESULT Left(
21962         [in] BOOL fMove,
21963         [out] MARKUP_CONTEXT_TYPE *pContext,
21964         [out] IHTMLElement **ppElement,
21965         [in, out] LONG *pcch,
21966         [out, size_is(*pcch)] OLECHAR *pchText);
21967
21968     HRESULT Right(
21969         [in] BOOL fMove,
21970         [out] MARKUP_CONTEXT_TYPE *pContext,
21971         [out] IHTMLElement **ppElement,
21972         [in, out] LONG *pcch,
21973         [out, size_is(*pcch)] OLECHAR *pchText);
21974
21975     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
21976
21977     HRESULT IsLeftOf(
21978         [in] IMarkupPointer *pPointerThat,
21979         [out] BOOL *pfResult);
21980
21981     HRESULT IsLeftOfOrEqualTo(
21982         [in] IMarkupPointer *pPointerThat,
21983         [out] BOOL *pfResult);
21984
21985     HRESULT IsRightOf(
21986         [in] IMarkupPointer *pPointerThat,
21987         [out] BOOL *pfResult);
21988
21989     HRESULT IsRightOfOrEqualTo(
21990         [in] IMarkupPointer *pPointerThat,
21991         [out] BOOL *pfResult);
21992
21993     HRESULT IsEqualTo(
21994         [in] IMarkupPointer *pPointerThat,
21995         [out] BOOL *pfAreEqual);
21996
21997     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
21998
21999     HRESULT FindText(
22000         [in] OLECHAR *pchFindText,
22001         [in] DWORD dwFlags,
22002         [in] IMarkupPointer *pIEndMatch,
22003         [in] IMarkupPointer *pIEndSearch);
22004 }
22005
22006 /*****************************************************************************
22007  *    ISegment interface
22008  */
22009 [
22010     object,
22011     pointer_default(unique),
22012     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
22013 ]
22014 interface ISegment : IUnknown
22015 {
22016     HRESULT GetPointers(
22017         [in] IMarkupPointer *pIStart,
22018         [in] IMarkupPointer *pIEnd);
22019 }
22020
22021 /*****************************************************************************
22022  *    IElementSegment interface
22023  */
22024 [
22025     object,
22026     pointer_default(unique),
22027     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
22028 ]
22029 interface IElementSegment : ISegment
22030 {
22031     HRESULT GetElement([out] IHTMLElement **ppIElement);
22032
22033     HRESULT SetPrimary([in] BOOL fPrimary);
22034
22035     HRESULT IsPrimary([out] BOOL *pfPrimary);
22036 }
22037
22038 /*****************************************************************************
22039  *    ISelectionServicesListener interface
22040  */
22041 [
22042     object,
22043     pointer_default(unique),
22044     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
22045 ]
22046 interface ISelectionServicesListener : IUnknown
22047 {
22048     HRESULT BeginSelectionUndo();
22049
22050     HRESULT EndSelectionUndo();
22051
22052     HRESULT OnSelectedElementExit(
22053         [in] IMarkupPointer *pIElementStart,
22054         [in] IMarkupPointer *pIElementEnd,
22055         [in] IMarkupPointer *pIElementContentStart,
22056         [in] IMarkupPointer *pIElementContentEnd);
22057
22058     HRESULT OnChangeType(
22059         [in] SELECTION_TYPE eType,
22060         [in] ISelectionServicesListener *pIListener);
22061
22062     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
22063 }
22064
22065 /*****************************************************************************
22066  *    ISelectionServices interface
22067  */
22068 [
22069     object,
22070     pointer_default(unique),
22071     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
22072 ]
22073 interface ISelectionServices : IUnknown
22074 {
22075     HRESULT SetSelectionType(
22076         [in] SELECTION_TYPE eType,
22077         [in] ISelectionServicesListener *pIListener);
22078
22079     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
22080
22081     HRESULT AddSegment(
22082         [in] IMarkupPointer *pIStart,
22083         [in] IMarkupPointer *pIEnd,
22084         [out] ISegment **ppISegmentAdded);
22085
22086     HRESULT AddElementSegment(
22087         [in] IHTMLElement *pIElement,
22088         [out] IElementSegment **ppISegmentAdded);
22089
22090     HRESULT RemoveSegment([in] ISegment *pISegment);
22091
22092     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
22093 }
22094
22095 /*****************************************************************************
22096  *    IHTMLEditDesigner interface
22097  */
22098 [
22099     object,
22100     pointer_default(unique),
22101     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
22102 ]
22103 interface IHTMLEditDesigner : IUnknown
22104 {
22105     HRESULT PreHandleEvent(
22106         [in] DISPID inEvtDispId,
22107         [in] IHTMLEventObj *pIEventObj);
22108
22109     HRESULT PostHandleEvent(
22110         [in] DISPID inEvtDispId,
22111         [in] IHTMLEventObj *pIEventObj);
22112
22113     HRESULT TranslateAccelerator(
22114         [in] DISPID inEvtDispId,
22115         [in] IHTMLEventObj *pIEventObj);
22116
22117     HRESULT PostEditorEventNotify(
22118         [in] DISPID inEvtDispId,
22119         [in] IHTMLEventObj *pIEventObj);
22120 }
22121
22122 /*****************************************************************************
22123  *    IHTMLEditServices interface
22124  */
22125 [
22126     object,
22127     pointer_default(unique),
22128     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
22129 ]
22130 interface IHTMLEditServices : IUnknown
22131 {
22132     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
22133
22134     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
22135
22136     HRESULT GetSelectionServices(
22137         [in] IMarkupContainer *pIContainer,
22138         [out] ISelectionServices **ppSelSvc);
22139
22140     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
22141
22142     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
22143
22144     HRESULT SelectRange(
22145         [in] IMarkupPointer* pStart,
22146         [in] IMarkupPointer* pEnd,
22147         [in] SELECTION_TYPE eType);
22148 }
22149
22150 } /* library MSHTML */