d3d10: Add a stub ID3D10Effect implementation.
[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  *    IHTMLControlElement interface
7134  */
7135 [
7136     odl,
7137     oleautomation,
7138     dual,
7139     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7140 ]
7141 interface IHTMLControlElement : IDispatch
7142 {
7143     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7144     HRESULT tabIndex([in] short v);
7145
7146     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7147     HRESULT tabIndex([retval, out] short * p);
7148
7149     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7150     HRESULT focus();
7151
7152     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7153     HRESULT accessKey([in] BSTR v);
7154
7155     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7156     HRESULT accessKey([retval, out] BSTR * p);
7157
7158     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7159     HRESULT onblur([in] VARIANT v);
7160
7161     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7162     HRESULT onblur([retval, out] VARIANT * p);
7163
7164     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7165     HRESULT onfocus([in] VARIANT v);
7166
7167     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7168     HRESULT onfocus([retval, out] VARIANT * p);
7169
7170     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7171     HRESULT onresize([in] VARIANT v);
7172
7173     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7174     HRESULT onresize([retval, out] VARIANT * p);
7175
7176     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7177     HRESULT blur();
7178
7179     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7180     HRESULT addFilter([in] IUnknown* pUnk);
7181
7182     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7183     HRESULT removeFilter([in] IUnknown* pUnk);
7184
7185     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7186     HRESULT clientHeight([retval, out] long * p);
7187
7188     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7189     HRESULT clientWidth([retval, out] long * p);
7190
7191     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7192     HRESULT clientTop([retval, out] long * p);
7193
7194     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7195     HRESULT clientLeft([retval, out] long * p);
7196 };
7197
7198 /*****************************************************************************
7199  *    IHTMLBodyElement interface
7200  */
7201 [
7202     odl,
7203     oleautomation,
7204     dual,
7205     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7206 ]
7207 interface IHTMLBodyElement : IDispatch
7208 {
7209     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7210     HRESULT background([in] BSTR v);
7211
7212     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7213     HRESULT background([retval, out] BSTR *p);
7214
7215     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7216     HRESULT bgProperties([in] BSTR v);
7217
7218     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7219     HRESULT bgProperties([retval, out] BSTR *p);
7220
7221     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7222     HRESULT leftMargin([in] VARIANT v);
7223
7224     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7225     HRESULT leftMargin([retval, out] VARIANT *p);
7226
7227     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7228     HRESULT topMargin([in] VARIANT v);
7229
7230     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7231     HRESULT topMargin([retval, out] VARIANT *p);
7232
7233     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7234     HRESULT rightMargin([in] VARIANT v);
7235
7236     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7237     HRESULT rightMargin([retval, out] VARIANT *p);
7238
7239     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7240     HRESULT bottomMargin([in] VARIANT v);
7241
7242     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7243     HRESULT bottomMargin([retval, out] VARIANT *p);
7244
7245     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7246     HRESULT noWrap([in] VARIANT_BOOL v);
7247
7248     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7249     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7250
7251     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7252     HRESULT bgColor([in] VARIANT v);
7253
7254     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7255     HRESULT bgColor([retval, out] VARIANT *p);
7256
7257     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7258     HRESULT text([in] VARIANT v);
7259
7260     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7261     HRESULT text([retval, out] VARIANT *p);
7262
7263     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7264     HRESULT link([in] VARIANT v);
7265
7266     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7267     HRESULT link([retval, out] VARIANT *p);
7268
7269     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7270     HRESULT vLink([in] VARIANT v);
7271
7272     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7273     HRESULT vLink([retval, out] VARIANT *p);
7274
7275     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7276     HRESULT aLink([in] VARIANT v);
7277
7278     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7279     HRESULT aLink([retval, out] VARIANT *p);
7280
7281     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7282     HRESULT onload([in] VARIANT v);
7283
7284     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7285     HRESULT onload([retval, out] VARIANT *p);
7286
7287     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7288     HRESULT onunload([in] VARIANT v);
7289
7290     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7291     HRESULT onunload([retval, out] VARIANT *p);
7292
7293     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7294     HRESULT scroll([in] BSTR v);
7295
7296     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7297     HRESULT scroll([retval, out] BSTR *p);
7298
7299     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7300     HRESULT onselect([in] VARIANT v);
7301
7302     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7303     HRESULT onselect([retval, out] VARIANT *p);
7304
7305     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7306     HRESULT onbeforeunload([in] VARIANT v);
7307
7308     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7309     HRESULT onbeforeunload([retval, out] VARIANT *p);
7310
7311     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7312     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7313 }
7314
7315 /*****************************************************************************
7316  *    IHTMLBodyElement2 interface
7317  */
7318 [
7319     odl,
7320     oleautomation,
7321     dual,
7322     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7323 ]
7324 interface IHTMLBodyElement2 : IDispatch
7325 {
7326     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7327     HRESULT onbeforeprint([in] VARIANT v);
7328
7329     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7330     HRESULT onbeforeprint([retval, out] VARIANT *p);
7331
7332     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7333     HRESULT onafterprint([in] VARIANT v);
7334
7335     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7336     HRESULT onafterprint([retval, out] VARIANT *p);
7337 }
7338
7339 [
7340     hidden,
7341     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
7342 ]
7343 dispinterface DispHTMLBody
7344 {
7345 properties:
7346 methods:
7347     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
7348     void setAttribute(
7349         [in] BSTR strAttributeName,
7350         [in] VARIANT AttValue,
7351         [defaultvalue(1), in] LONG lFlags);
7352
7353     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
7354     VARIANT getAttribute(
7355         [in] BSTR strAttributeName,
7356         [defaultvalue(0), in] LONG lFlags);
7357
7358     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
7359     VARIANT_BOOL removeAttribute(
7360         [in] BSTR strAttributeName,
7361         [defaultvalue(1), in] LONG lFlags);
7362
7363     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7364     void className(BSTR v);
7365
7366     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7367     BSTR className();
7368
7369     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
7370     void id(BSTR v);
7371
7372     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
7373     BSTR id();
7374
7375     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
7376     BSTR tagName();
7377
7378     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
7379     IHTMLElement* parentElement();
7380
7381     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
7382     IHTMLStyle* style();
7383
7384     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7385     void onhelp(VARIANT v);
7386
7387     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7388     VARIANT onhelp();
7389
7390     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7391     void onclick(VARIANT v);
7392
7393     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7394     VARIANT onclick();
7395
7396     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7397     void ondblclick(VARIANT v);
7398
7399     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7400     VARIANT ondblclick();
7401
7402     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7403     void onkeydown(VARIANT v);
7404
7405     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7406     VARIANT onkeydown();
7407
7408     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7409     void onkeyup(VARIANT v);
7410
7411     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7412     VARIANT onkeyup();
7413
7414     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7415     void onkeypress(VARIANT v);
7416
7417     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7418     VARIANT onkeypress();
7419
7420     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7421     void onmouseout(VARIANT v);
7422
7423     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7424     VARIANT onmouseout();
7425
7426     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7427     void onmouseover(VARIANT v);
7428
7429     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7430     VARIANT onmouseover();
7431
7432     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7433     void onmousemove(VARIANT v);
7434
7435     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7436     VARIANT onmousemove();
7437
7438     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7439     void onmousedown(VARIANT v);
7440
7441     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7442     VARIANT onmousedown();
7443
7444     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7445     void onmouseup(VARIANT v);
7446
7447     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7448     VARIANT onmouseup();
7449
7450     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
7451
7452     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7453     void title(BSTR v);
7454
7455     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7456     BSTR title();
7457
7458     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7459     void language(BSTR v);
7460
7461     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7462     BSTR language();
7463
7464     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7465     void onselectstart(VARIANT v);
7466
7467     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7468     VARIANT onselectstart();
7469
7470     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
7471     void scrollIntoView([optional, in] VARIANT varargStart);
7472
7473     [id(DISPID_IHTMLELEMENT_CONTAINS)]
7474     VARIANT_BOOL contains([in] IHTMLElement* pChild);
7475
7476     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
7477     long sourceIndex();
7478
7479     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
7480     VARIANT recordNumber();
7481
7482     [propput, id(DISPID_IHTMLELEMENT_LANG)]
7483     void lang(BSTR v);
7484
7485     [propget, id(DISPID_IHTMLELEMENT_LANG)]
7486     BSTR lang();
7487
7488     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
7489     long offsetLeft();
7490
7491     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
7492     long offsetTop();
7493
7494     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
7495     long offsetWidth();
7496
7497     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
7498     long offsetHeight();
7499
7500     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
7501     IHTMLElement* offsetParent();
7502
7503     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
7504     void innerHTML(BSTR v);
7505
7506     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
7507     BSTR innerHTML();
7508
7509     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7510     void innerText(BSTR v);
7511
7512     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7513     BSTR innerText();
7514
7515     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7516     void outerHTML(BSTR v);
7517
7518     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7519     BSTR outerHTML();
7520
7521     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7522     void outerText(BSTR v);
7523
7524     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7525     BSTR outerText();
7526
7527     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
7528     void insertAdjacentHTML(
7529         [in] BSTR where,
7530         [in] BSTR html);
7531
7532     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
7533     void insertAdjacentText(
7534         [in] BSTR where,
7535         [in] BSTR text);
7536
7537     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
7538     IHTMLElement* parentTextEdit();
7539
7540     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
7541     VARIANT_BOOL isTextEdit();
7542
7543     [id(DISPID_IHTMLELEMENT_CLICK)] void click();
7544
7545     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
7546     IHTMLFiltersCollection* filters();
7547
7548     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7549     void ondragstart(VARIANT v);
7550
7551     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7552     VARIANT ondragstart();
7553
7554     [id(DISPID_IHTMLELEMENT_TOSTRING)]
7555     BSTR toString();
7556
7557     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7558     void onbeforeupdate(VARIANT v);
7559
7560     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7561     VARIANT onbeforeupdate();
7562
7563     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7564     void onafterupdate(VARIANT v);
7565
7566     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7567     VARIANT onafterupdate();
7568
7569     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7570     void onerrorupdate(VARIANT v);
7571
7572     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7573     VARIANT onerrorupdate();
7574
7575     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7576     void onrowexit(VARIANT v);
7577
7578     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7579     VARIANT onrowexit();
7580
7581     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7582     void onrowenter(VARIANT v);
7583
7584     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7585     VARIANT onrowenter();
7586
7587     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7588     void ondatasetchanged(VARIANT v);
7589
7590     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7591     VARIANT ondatasetchanged();
7592
7593     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7594     void ondataavailable(VARIANT v);
7595
7596     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7597     VARIANT ondataavailable();
7598
7599     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7600     void ondatasetcomplete(VARIANT v);
7601
7602     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7603     VARIANT ondatasetcomplete();
7604
7605     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7606     void onfilterchange(VARIANT v);
7607
7608     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7609     VARIANT onfilterchange();
7610
7611     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
7612     IDispatch* children();
7613
7614     [propget, id(DISPID_IHTMLELEMENT_ALL)]
7615     IDispatch* all();
7616
7617     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
7618     BSTR scopeName();
7619
7620     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
7621     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
7622
7623     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
7624     void releaseCapture();
7625
7626     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7627     void onlosecapture(VARIANT v);
7628
7629     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7630     VARIANT onlosecapture();
7631
7632     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
7633     BSTR componentFromPoint([in] long x,[in] long y);
7634
7635     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
7636     void doScroll([optional, in] VARIANT component);
7637
7638     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7639     void onscroll(VARIANT v);
7640
7641     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7642     VARIANT onscroll();
7643
7644     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7645     void ondrag(VARIANT v);
7646
7647     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7648     VARIANT ondrag();
7649
7650     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7651     void ondragend(VARIANT v);
7652
7653     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7654     VARIANT ondragend();
7655
7656     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7657     void ondragenter(VARIANT v);
7658
7659     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7660     VARIANT ondragenter();
7661
7662     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7663     void ondragover(VARIANT v);
7664
7665     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7666     VARIANT ondragover();
7667
7668     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7669     void ondragleave(VARIANT v);
7670
7671     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7672     VARIANT ondragleave();
7673
7674     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7675      void ondrop(VARIANT v);
7676
7677     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7678     VARIANT ondrop();
7679
7680     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7681     void onbeforecut(VARIANT v);
7682
7683     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7684     VARIANT onbeforecut();
7685
7686     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7687     void oncut(VARIANT v);
7688
7689     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7690     VARIANT oncut();
7691
7692     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7693     void onbeforecopy(VARIANT v);
7694
7695     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7696     VARIANT onbeforecopy();
7697
7698     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7699     void oncopy(VARIANT v);
7700
7701     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7702     VARIANT oncopy();
7703
7704     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7705     void onbeforepaste(VARIANT v);
7706
7707     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7708      VARIANT onbeforepaste();
7709
7710     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7711     void onpaste(VARIANT v);
7712
7713     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7714     VARIANT onpaste();
7715
7716     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
7717     IHTMLCurrentStyle* currentStyle();
7718
7719     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7720     void onpropertychange(VARIANT v);
7721
7722     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7723     VARIANT onpropertychange();
7724
7725     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
7726     IHTMLRectCollection* getClientRects();
7727
7728     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
7729     IHTMLRect* getBoundingClientRect();
7730
7731     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
7732     void setExpression(
7733         [in] BSTR propname,
7734         [in] BSTR expr,
7735         [defaultvalue(""), in] BSTR lang);
7736
7737     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
7738     VARIANT getExpression([in] BSTR propname);
7739
7740     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
7741     VARIANT_BOOL removeExpression([in] BSTR propname);
7742
7743     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7744     void tabIndex(short v);
7745
7746     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7747     short tabIndex();
7748
7749     [id(DISPID_IHTMLELEMENT2_FOCUS)]
7750     void focus();
7751
7752     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7753     void accessKey(BSTR v);
7754
7755     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7756     BSTR accessKey();
7757
7758     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7759     void onblur(VARIANT v);
7760
7761     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7762      VARIANT onblur();
7763
7764     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7765     void onfocus(VARIANT v);
7766
7767     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7768     VARIANT onfocus();
7769
7770     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7771     void onresize(VARIANT v);
7772
7773     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7774     VARIANT onresize();
7775
7776     [id(DISPID_IHTMLELEMENT2_BLUR)]
7777     void blur();
7778
7779     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
7780     void addFilter([in] IUnknown* pUnk);
7781
7782     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
7783     void removeFilter([in] IUnknown* pUnk);
7784
7785     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
7786     long clientHeight();
7787
7788     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
7789     long clientWidth();
7790
7791     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
7792     long clientTop();
7793
7794     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
7795     long clientLeft();
7796
7797     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
7798     VARIANT_BOOL attachEvent(
7799         [in] BSTR event,
7800         [in] IDispatch* pDisp);
7801
7802     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
7803     void detachEvent(
7804         [in] BSTR event,
7805         [in] IDispatch* pDisp);
7806
7807     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
7808
7809     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7810      void onreadystatechange(VARIANT v);
7811
7812     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7813     VARIANT onreadystatechange();
7814
7815     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7816     void onrowsdelete(VARIANT v);
7817
7818     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7819     VARIANT onrowsdelete();
7820
7821     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7822     void onrowsinserted(VARIANT v);
7823
7824     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7825     VARIANT onrowsinserted();
7826
7827     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7828     void oncellchange(VARIANT v);
7829
7830     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7831     VARIANT oncellchange();
7832
7833     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7834     void dir(BSTR v);
7835
7836     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7837     BSTR dir();
7838
7839     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
7840     IDispatch* createControlRange();
7841
7842     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
7843     long scrollHeight();
7844
7845     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
7846     long scrollWidth();
7847
7848     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7849     void scrollTop(long v);
7850
7851     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7852     long scrollTop();
7853
7854     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7855     void scrollLeft(long v);
7856
7857     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7858     long scrollLeft();
7859
7860     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
7861     void clearAttributes();
7862
7863     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7864     void oncontextmenu(VARIANT v);
7865
7866     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7867     VARIANT oncontextmenu();
7868
7869     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
7870     IHTMLElement* insertAdjacentElement(
7871         [in] BSTR where,
7872         [in] IHTMLElement* insertedElement);
7873
7874     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
7875     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
7876
7877     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
7878     BSTR getAdjacentText([in] BSTR where);
7879
7880     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
7881     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
7882
7883     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
7884     VARIANT_BOOL canHaveChildren();
7885
7886     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
7887     long addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
7888
7889     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
7890     VARIANT_BOOL removeBehavior([in] long cookie);
7891
7892     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
7893     IHTMLStyle* runtimeStyle();
7894
7895     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
7896     IDispatch* behaviorUrns();
7897
7898     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
7899     void tagUrn(BSTR v);
7900
7901     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
7902     BSTR tagUrn();
7903
7904     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7905     void onbeforeeditfocus(VARIANT v);
7906
7907     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7908     VARIANT onbeforeeditfocus();
7909
7910     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
7911     long readyStateValue();
7912
7913     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
7914     IHTMLElementCollection* getElementsByTagName([in] BSTR v);
7915
7916     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
7917     void mergeAttributes(
7918         [in] IHTMLElement* mergeThis,
7919         [optional, in] VARIANT* pvarFlags);
7920
7921     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
7922     VARIANT_BOOL isMultiLine();
7923
7924     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
7925     VARIANT_BOOL canHaveHTML();
7926
7927     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7928     void onlayoutcomplete(VARIANT v);
7929
7930     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7931     VARIANT onlayoutcomplete();
7932
7933     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7934     void onpage(VARIANT v);
7935
7936     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7937     VARIANT onpage();
7938
7939     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7940     void inflateBlock(VARIANT_BOOL v);
7941
7942     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7943     VARIANT_BOOL inflateBlock();
7944
7945     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7946     void onbeforedeactivate(VARIANT v);
7947
7948     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7949     VARIANT onbeforedeactivate();
7950
7951     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
7952     void setActive();
7953
7954     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7955     void contentEditable(BSTR v);
7956
7957     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7958     BSTR contentEditable();
7959
7960     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
7961     VARIANT_BOOL isContentEditable();
7962
7963     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7964     void hideFocus(VARIANT_BOOL v);
7965
7966     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7967     VARIANT_BOOL hideFocus();
7968
7969     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7970     void disabled(VARIANT_BOOL v);
7971
7972     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7973     VARIANT_BOOL disabled();
7974
7975     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
7976     VARIANT_BOOL isDisabled();
7977
7978     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7979     void onmove(VARIANT v);
7980
7981     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7982     VARIANT onmove();
7983
7984     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7985     void oncontrolselect(VARIANT v);
7986
7987     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7988     VARIANT oncontrolselect();
7989
7990     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
7991     VARIANT_BOOL fireEvent(
7992         [in] BSTR bstrEventName,
7993         [optional, in] VARIANT* pvarEventObject);
7994
7995     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7996      void onresizestart(VARIANT v);
7997
7998     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7999     VARIANT onresizestart();
8000
8001     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8002     void onresizeend(VARIANT v);
8003
8004     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8005     VARIANT onresizeend();
8006
8007     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8008     void onmovestart(VARIANT v);
8009
8010     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8011     VARIANT onmovestart();
8012
8013     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8014     void onmoveend(VARIANT v);
8015
8016     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8017     VARIANT onmoveend();
8018
8019     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8020     void onmouseenter(VARIANT v);
8021
8022     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8023     VARIANT onmouseenter();
8024
8025     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8026     void onmouseleave(VARIANT v);
8027
8028     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8029     VARIANT onmouseleave();
8030
8031     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8032     void onactivate(VARIANT v);
8033     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
8034
8035     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8036     void ondeactivate(VARIANT v);
8037
8038     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8039     VARIANT ondeactivate();
8040
8041     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
8042     VARIANT_BOOL dragDrop();
8043
8044     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
8045     LONG glyphMode();
8046
8047     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8048     void onmousewheel(VARIANT v);
8049
8050     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8051     VARIANT onmousewheel();
8052
8053     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
8054     void normalize();
8055
8056     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
8057      IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
8058
8059     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
8060     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
8061
8062     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
8063     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
8064
8065     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8066     void onbeforeactivate(VARIANT v);
8067
8068     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8069     VARIANT onbeforeactivate();
8070
8071     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8072     void onfocusin(VARIANT v);
8073
8074     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8075     VARIANT onfocusin();
8076
8077     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8078     void onfocusout(VARIANT v);
8079
8080     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8081     VARIANT onfocusout();
8082
8083     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
8084     long uniqueNumber();
8085
8086     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
8087     BSTR uniqueID();
8088
8089     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
8090     long nodeType();
8091
8092     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
8093     IHTMLDOMNode* parentNode();
8094
8095     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
8096     VARIANT_BOOL hasChildNodes();
8097
8098     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
8099     IDispatch* childNodes();
8100
8101     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
8102     IDispatch* attributes();
8103
8104     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
8105     IHTMLDOMNode* insertBefore(
8106         [in] IHTMLDOMNode* newChild,
8107         [optional, in] VARIANT refChild);
8108
8109     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
8110     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
8111
8112     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
8113     IHTMLDOMNode* replaceChild(
8114         [in] IHTMLDOMNode* newChild,
8115         [in] IHTMLDOMNode* oldChild);
8116
8117     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
8118     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
8119
8120     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
8121     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
8122
8123     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
8124     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
8125
8126     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
8127     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
8128
8129     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
8130     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
8131
8132     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
8133     BSTR nodeName();
8134
8135     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8136     void nodeValue(VARIANT v);
8137
8138     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8139     VARIANT nodeValue();
8140
8141     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
8142     IHTMLDOMNode* firstChild();
8143
8144     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
8145     IHTMLDOMNode* lastChild();
8146
8147     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
8148     IHTMLDOMNode* previousSibling();
8149
8150     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
8151     IHTMLDOMNode* nextSibling();
8152
8153     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
8154     IDispatch* ownerDocument();
8155
8156     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8157     void background(BSTR v);
8158
8159     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8160     BSTR background();
8161
8162     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8163     void bgProperties(BSTR v);
8164
8165     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8166     BSTR bgProperties();
8167
8168     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8169     void leftMargin(VARIANT v);
8170
8171     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8172     VARIANT leftMargin();
8173
8174     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8175     void topMargin(VARIANT v);
8176
8177     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8178     VARIANT topMargin();
8179
8180     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8181     void rightMargin(VARIANT v);
8182
8183     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8184     VARIANT rightMargin();
8185
8186     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8187     void bottomMargin(VARIANT v);
8188
8189     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8190     VARIANT bottomMargin();
8191
8192     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8193     void noWrap(VARIANT_BOOL v);
8194
8195     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8196     VARIANT_BOOL noWrap();
8197
8198     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8199     void bgColor(VARIANT v);
8200
8201     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8202     VARIANT bgColor();
8203
8204     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8205     void text(VARIANT v);
8206
8207     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8208     VARIANT text();
8209
8210     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8211     void link(VARIANT v);
8212
8213     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8214     VARIANT link();
8215
8216     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8217     void vLink(VARIANT v);
8218
8219     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8220     VARIANT vLink();
8221
8222     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8223     void aLink(VARIANT v);
8224
8225     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8226     VARIANT aLink();
8227
8228     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8229     void onload(VARIANT v);
8230
8231     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8232     VARIANT onload();
8233
8234     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8235     void onunload(VARIANT v);
8236
8237     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8238     VARIANT onunload();
8239
8240     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8241     void scroll(BSTR v);
8242
8243     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8244     BSTR scroll();
8245
8246     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8247     void onselect(VARIANT v);
8248
8249     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8250     VARIANT onselect();
8251
8252     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8253     void onbeforeunload(VARIANT v);
8254
8255     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8256     VARIANT onbeforeunload();
8257
8258     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8259     IHTMLTxtRange* createTextRange();
8260
8261     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8262     void onbeforeprint(VARIANT v);
8263
8264     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8265     VARIANT onbeforeprint();
8266
8267     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8268     void onafterprint(VARIANT v);
8269
8270     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8271     VARIANT onafterprint();
8272 };
8273
8274 [
8275     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8276 ]
8277 coclass HTMLBody
8278 {
8279     [default]           dispinterface DispHTMLBody;
8280     [source, default]   dispinterface HTMLTextContainerEvents;
8281     [source]            dispinterface HTMLTextContainerEvents2;
8282                         interface IHTMLElement;
8283                         interface IHTMLElement2;
8284                         interface IHTMLElement3;
8285                         interface IHTMLElement4;
8286                         interface IHTMLUniqueName;
8287                         interface IHTMLDOMNode;
8288                         interface IHTMLDOMNode2;
8289                         interface IHTMLControlElement;
8290                         interface IHTMLTextContainer;
8291                         interface IHTMLBodyElement;
8292                         interface IHTMLBodyElement2;
8293 };
8294
8295 /*****************************************************************************
8296  *    IHTMLAnchorElement interface
8297  */
8298 [
8299     odl,
8300     oleautomation,
8301     dual,
8302     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8303 ]
8304 interface IHTMLAnchorElement : IDispatch
8305 {
8306     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8307     HRESULT href([in] BSTR v);
8308
8309     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8310     HRESULT href([retval, out] BSTR *p);
8311
8312     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8313     HRESULT target([in] BSTR v);
8314
8315     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8316     HRESULT target([retval, out] BSTR *p);
8317
8318     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8319     HRESULT rel([in] BSTR v);
8320
8321     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8322     HRESULT rel([retval, out] BSTR *p);
8323
8324     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8325     HRESULT rev([in] BSTR v);
8326
8327     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8328     HRESULT rev([retval, out] BSTR *p);
8329
8330     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8331     HRESULT urn([in] BSTR v);
8332
8333     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8334     HRESULT urn([retval, out] BSTR *p);
8335
8336     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8337     HRESULT Methods([in] BSTR v);
8338
8339     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8340     HRESULT Methods([retval, out] BSTR *p);
8341
8342     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8343     HRESULT name([in] BSTR v);
8344
8345     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8346     HRESULT name([retval, out] BSTR *p);
8347
8348     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8349     HRESULT host([in] BSTR v);
8350
8351     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8352     HRESULT host([retval, out] BSTR *p);
8353
8354     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8355     HRESULT hostname([in] BSTR v);
8356
8357     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8358     HRESULT hostname([retval, out] BSTR *p);
8359
8360     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8361     HRESULT pathname([in] BSTR v);
8362
8363     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8364     HRESULT pathname([retval, out] BSTR *p);
8365
8366     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8367     HRESULT port([in] BSTR v);
8368
8369     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8370     HRESULT port([retval, out] BSTR *p);
8371
8372     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8373     HRESULT protocol([in] BSTR v);
8374
8375     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8376     HRESULT protocol([retval, out] BSTR *p);
8377
8378     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8379     HRESULT search([in] BSTR v);
8380
8381     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8382     HRESULT search([retval, out] BSTR *p);
8383
8384     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8385     HRESULT hash([in] BSTR v);
8386
8387     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8388     HRESULT hash([retval, out] BSTR *p);
8389
8390     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8391     HRESULT onblur([in] VARIANT v);
8392
8393     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8394     HRESULT onblur([retval, out] VARIANT *p);
8395
8396     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8397     HRESULT onfocus([in] VARIANT v);
8398
8399     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8400     HRESULT onfocus([retval, out] VARIANT *p);
8401
8402     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8403     HRESULT accessKey([in] BSTR v);
8404
8405     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8406     HRESULT accessKey([retval, out] BSTR *p);
8407
8408     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8409     HRESULT protocolLong([retval, out] BSTR *p);
8410
8411     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8412     HRESULT mimeType([retval, out] BSTR *p);
8413
8414     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8415     HRESULT nameProp([retval, out] BSTR *p);
8416
8417     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8418     HRESULT tabIndex([in] short v);
8419
8420     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8421     HRESULT tabIndex([retval, out] short *p);
8422
8423     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8424     HRESULT focus();
8425
8426     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8427     HRESULT blur();
8428 }
8429
8430 /*****************************************************************************
8431  *    IHTMLElementCollection interface
8432  */
8433 [
8434     odl,
8435     oleautomation,
8436     dual,
8437     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8438 ]
8439 interface IHTMLElementCollection : IDispatch
8440 {
8441     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8442     HRESULT toString([retval, out] BSTR *String);
8443
8444     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8445     HRESULT length([in] long v);
8446
8447     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8448     HRESULT length([retval, out] long *p);
8449
8450     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8451     HRESULT _newEnum([retval, out] IUnknown **p);
8452
8453     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8454     HRESULT item(
8455         [optional, in] VARIANT name,
8456         [optional, in] VARIANT index,
8457         [retval,  out] IDispatch **pdisp);
8458
8459     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8460     HRESULT tags(
8461         [in] VARIANT tagName,
8462         [retval, out] IDispatch **pdisp);
8463 }
8464
8465 /*****************************************************************************
8466  *    DispHTMLElementCollection dispinterface
8467  */
8468 [
8469     hidden,
8470     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8471 ]
8472 dispinterface DispHTMLElementCollection
8473 {
8474 properties:
8475 methods:
8476     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8477     BSTR toString();
8478
8479     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8480     void length(long v);
8481
8482     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8483     long length();
8484
8485     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8486     IUnknown *_newEnum();
8487
8488     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8489     IDispatch *item(
8490             [in, optional] VARIANT name,
8491             [in, optional] VARIANT index);
8492
8493     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8494     IDispatch *tags(
8495             [in] VARIANT tagName);
8496
8497     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8498     IDispatch *urns([in] VARIANT urn);
8499
8500     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8501     IDispatch *namedItem([in] BSTR name);
8502 }
8503
8504 /*****************************************************************************
8505  *    IHTMLSelectElement interface
8506  */
8507 [
8508     odl,
8509     oleautomation,
8510     dual,
8511     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8512 ]
8513 interface IHTMLSelectElement : IDispatch
8514 {
8515     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8516     HRESULT size([in] long v);
8517
8518     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8519     HRESULT size([retval, out] long *p);
8520
8521     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8522     HRESULT multiple([in] VARIANT_BOOL v);
8523
8524     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8525     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8526
8527     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8528     HRESULT name([in] BSTR v);
8529
8530     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8531     HRESULT name([retval, out] BSTR *p);
8532
8533     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8534     HRESULT options([retval, out] IDispatch **p);
8535
8536     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8537     HRESULT onchange([in] VARIANT v);
8538
8539     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8540     HRESULT onchange([retval, out] VARIANT *p);
8541
8542     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8543     HRESULT selectedIndex([in] long v);
8544
8545     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8546     HRESULT selectedIndex([retval, out] long *p);
8547
8548     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8549     HRESULT type([retval, out] BSTR *p);
8550
8551     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8552     HRESULT value([in] BSTR v);
8553
8554     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8555     HRESULT value([retval, out] BSTR *p);
8556
8557     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8558     HRESULT disabled([in] VARIANT_BOOL v);
8559
8560     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8561     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8562
8563     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8564     HRESULT form([retval, out] IHTMLFormElement **p);
8565
8566     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8567     HRESULT add(
8568         [in] IHTMLElement *element,
8569         [optional, in] VARIANT before);
8570
8571     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8572     HRESULT remove([defaultvalue(-1), in] long index);
8573
8574     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8575     HRESULT length([in] long v);
8576
8577     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8578     HRESULT length([retval, out] long *p);
8579
8580     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8581     HRESULT _newEnum([retval, out] IUnknown **p);
8582
8583     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8584     HRESULT item(
8585         [optional, in] VARIANT name,
8586         [optional, in] VARIANT index,
8587         [retval, out] IDispatch **pdisp);
8588
8589     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8590     HRESULT tags(
8591         [in] VARIANT tagName,
8592         [retval, out] IDispatch **pdisp);
8593 }
8594
8595 /*****************************************************************************
8596  *    DispHTMLSelectElement dispinterface
8597  */
8598 [
8599     hidden,
8600     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8601 ]
8602 dispinterface DispHTMLSelectElement
8603 {
8604 properties:
8605 methods:
8606     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
8607     void setAttribute(
8608             [in] BSTR strAttributeName,
8609             [in] VARIANT AttributeValue,
8610             [in, defaultvalue(1)] LONG lFlags);
8611
8612     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
8613     VARIANT getAttribute(
8614              [in] BSTR strAttributeName,
8615              [in, defaultvalue(0)] LONG lFlags);
8616
8617     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
8618     VARIANT_BOOL removeAttribute(
8619             [in] BSTR strAttributeName,
8620             [in, defaultvalue(1)] LONG lFlags);
8621
8622     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8623     void className(BSTR v);
8624
8625     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8626     BSTR className();
8627
8628     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
8629     void id(BSTR v);
8630
8631     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
8632     BSTR id();
8633
8634     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
8635     BSTR tagName();
8636
8637     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
8638     IHTMLElement *parentElement();
8639
8640     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
8641     IHTMLStyle *style();
8642
8643     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8644     void onhelp(VARIANT v);
8645
8646     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8647     VARIANT onhelp();
8648
8649     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8650     void onclick(VARIANT v);
8651
8652     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8653     VARIANT onclick();
8654
8655     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8656     void ondblclick(VARIANT v);
8657
8658     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8659     VARIANT ondblclick();
8660
8661     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8662     void onkeydown(VARIANT v);
8663
8664     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8665     VARIANT onkeydown();
8666
8667     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8668     void onkeyup(VARIANT v);
8669
8670     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8671     VARIANT onkeyup();
8672
8673     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8674     void onkeypress(VARIANT v);
8675
8676     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8677     VARIANT onkeypress();
8678
8679     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8680     void onmouseout(VARIANT v);
8681
8682     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8683     VARIANT onmouseout();
8684
8685     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8686     void onmouseover(VARIANT v);
8687
8688     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8689     VARIANT onmouseover();
8690
8691     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8692     void onmousemove(VARIANT v);
8693
8694     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8695     VARIANT onmousemove();
8696
8697     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8698     void onmousedown(VARIANT v);
8699
8700     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8701     VARIANT onmousedown();
8702
8703     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8704     void onmouseup(VARIANT v);
8705
8706     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8707     VARIANT onmouseup();
8708
8709     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
8710     IDispatch *document();
8711
8712     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8713     void title(BSTR v);
8714
8715     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8716     BSTR title();
8717
8718     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8719     void language(BSTR v);
8720
8721     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8722     BSTR language();
8723
8724     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8725     void onselectstart(VARIANT v);
8726
8727     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8728     VARIANT onselectstart();
8729
8730     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
8731     void scrollIntoView([in, optional] VARIANT varargStart);
8732
8733     [id(DISPID_IHTMLELEMENT_CONTAINS)]
8734     VARIANT_BOOL contains([in] IHTMLElement *pChild);
8735
8736     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
8737     long sourceIndex();
8738
8739     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
8740     VARIANT recordNumber();
8741
8742     [propput, id(DISPID_IHTMLELEMENT_LANG)]
8743     void lang(BSTR v);
8744
8745     [propget, id(DISPID_IHTMLELEMENT_LANG)]
8746     BSTR lang();
8747
8748     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
8749     long offsetLeft();
8750
8751     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
8752     long offsetTop();
8753
8754     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
8755     long offsetWidth();
8756
8757     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
8758     long offsetHeight();
8759
8760     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
8761     IHTMLElement *offsetParent();
8762
8763     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
8764     void innerHTML(BSTR v);
8765
8766     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
8767     BSTR innerHTML();
8768
8769     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8770     void innerText(BSTR v);
8771
8772     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8773     BSTR innerText();
8774
8775     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8776     void outerHTML(BSTR v);
8777
8778     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8779     BSTR outerHTML();
8780
8781     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8782     void outerText(BSTR v);
8783
8784     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8785     BSTR outerText();
8786
8787     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
8788     void insertAdjacentHTML(
8789             [in] BSTR where,
8790             [in] BSTR html);
8791
8792     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
8793     void insertAdjacentText(
8794             [in] BSTR where,
8795             [in] BSTR text);
8796
8797     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
8798     IHTMLElement *parentTextEdit();
8799
8800     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
8801     VARIANT_BOOL isTextEdit();
8802
8803     [id(DISPID_IHTMLELEMENT_CLICK)]
8804     void click();
8805
8806     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
8807     IHTMLFiltersCollection *filters();
8808
8809     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8810     void ondragstart(VARIANT v);
8811
8812     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8813     VARIANT ondragstart();
8814
8815     [id(DISPID_IHTMLELEMENT_TOSTRING)]
8816     BSTR toString();
8817
8818     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8819     void onbeforeupdate(VARIANT v);
8820
8821     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8822     VARIANT onbeforeupdate();
8823
8824     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8825     void onafterupdate(VARIANT v);
8826
8827     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8828     VARIANT onafterupdate();
8829
8830     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8831     void onerrorupdate(VARIANT v);
8832
8833     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8834     VARIANT onerrorupdate();
8835
8836     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8837     void onrowexit(VARIANT v);
8838
8839     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8840     VARIANT onrowexit();
8841
8842     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8843     void onrowenter(VARIANT v);
8844
8845     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8846     VARIANT onrowenter();
8847
8848     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8849     void ondatasetchanged(VARIANT v);
8850
8851     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8852     VARIANT ondatasetchanged();
8853
8854     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8855     void ondataavailable(VARIANT v);
8856
8857     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8858     VARIANT ondataavailable();
8859
8860     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8861     void ondatasetcomplete(VARIANT v);
8862
8863     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8864     VARIANT ondatasetcomplete();
8865
8866     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8867     void onfilterchange(VARIANT v);
8868
8869     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8870     VARIANT onfilterchange();
8871
8872     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
8873     IDispatch *children();
8874
8875     [propget, id(DISPID_IHTMLELEMENT_ALL)]
8876     IDispatch *all();
8877
8878     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
8879     BSTR scopeName();
8880
8881     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
8882     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
8883
8884     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
8885     void releaseCapture();
8886
8887     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8888     void onlosecapture(VARIANT v);
8889
8890     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8891     VARIANT onlosecapture();
8892
8893     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
8894     BSTR componentFromPoint(
8895             [in] long x,
8896             [in] long y);
8897
8898     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
8899     void doScroll([in, optional] VARIANT component);
8900
8901     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8902     void onscroll(VARIANT v);
8903
8904     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8905     VARIANT onscroll();
8906
8907     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8908     void ondrag(VARIANT v);
8909
8910     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8911     VARIANT ondrag();
8912
8913     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8914     void ondragend(VARIANT v);
8915
8916     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8917     VARIANT ondragend();
8918
8919     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8920     void ondragenter(VARIANT v);
8921
8922     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8923     VARIANT ondragenter();
8924
8925     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8926     void ondragover(VARIANT v);
8927
8928     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8929     VARIANT ondragover();
8930
8931     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8932     void ondragleave(VARIANT v);
8933
8934     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8935     VARIANT ondragleave();
8936
8937     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8938     void ondrop(VARIANT v);
8939
8940     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8941     VARIANT ondrop();
8942
8943     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8944     void onbeforecut(VARIANT v);
8945
8946     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8947     VARIANT onbeforecut();
8948
8949     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8950     void oncut(VARIANT v);
8951
8952     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8953     VARIANT oncut();
8954
8955     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8956     void onbeforecopy(VARIANT v);
8957
8958     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8959     VARIANT onbeforecopy();
8960
8961     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8962     void oncopy(VARIANT v);
8963
8964     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8965     VARIANT oncopy();
8966
8967     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8968     void onbeforepaste(VARIANT v);
8969
8970     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8971     VARIANT onbeforepaste();
8972
8973     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8974     void onpaste(VARIANT v);
8975
8976     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8977     VARIANT onpaste();
8978
8979     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
8980     IHTMLCurrentStyle *currentStyle();
8981
8982     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8983     void onpropertychange(VARIANT v);
8984
8985     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8986     VARIANT onpropertychange();
8987
8988     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
8989     IHTMLRectCollection *getClientRects();
8990
8991     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
8992     IHTMLRect *getBoundingClientRect();
8993
8994     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
8995     void setExpression(
8996             [in] BSTR propname,
8997             [in] BSTR expression,
8998             [in, defaultvalue("")] BSTR language);
8999
9000     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
9001     VARIANT getExpression([in] BSTR propname);
9002
9003     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
9004     VARIANT_BOOL removeExpression([in] BSTR propname);
9005
9006     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9007     void tabIndex(short v);
9008
9009     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9010     short tabIndex();
9011
9012     [id(DISPID_IHTMLELEMENT2_FOCUS)]
9013     void focus();
9014
9015     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9016     void accessKey(BSTR v);
9017
9018     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9019     BSTR accessKey();
9020
9021     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9022     void onblur(VARIANT v);
9023
9024     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9025     VARIANT onblur();
9026
9027     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9028     void onfocus(VARIANT v);
9029
9030     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9031     VARIANT onfocus();
9032
9033     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9034     void onresize(VARIANT v);
9035
9036     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9037     VARIANT onresize();
9038
9039     [id(DISPID_IHTMLELEMENT2_BLUR)]
9040     void blur();
9041
9042     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
9043     void addFilter([in] IUnknown *pUnk);
9044
9045     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
9046     void removeFilter([in] IUnknown *pUnk);
9047
9048     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
9049     long clientHeight();
9050
9051     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
9052     long clientWidth();
9053
9054     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
9055     long clientTop();
9056
9057     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
9058     long clientLeft();
9059
9060     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
9061     VARIANT_BOOL attachEvent(
9062             [in] BSTR event,
9063             [in] IDispatch *pDisp);
9064
9065     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
9066     void detachEvent(
9067             [in] BSTR event,
9068             [in] IDispatch *pDisp);
9069
9070     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
9071     VARIANT readyState();
9072
9073     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9074     void onreadystatechange(VARIANT v);
9075
9076     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9077     VARIANT onreadystatechange();
9078
9079     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9080     void onrowsdelete(VARIANT v);
9081
9082     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9083     VARIANT onrowsdelete();
9084
9085     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9086     void onrowsinserted(VARIANT v);
9087
9088     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9089      VARIANT onrowsinserted();
9090
9091     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9092      void oncellchange(VARIANT v);
9093
9094     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9095     VARIANT oncellchange();
9096
9097     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9098     void dir(BSTR v);
9099
9100     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9101     BSTR dir();
9102
9103     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
9104     IDispatch *createControlRange();
9105
9106     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
9107     long scrollHeight();
9108
9109     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
9110     long scrollWidth();
9111
9112     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9113     void scrollTop(long v);
9114
9115     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9116     long scrollTop();
9117
9118     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9119     void scrollLeft(long v);
9120
9121     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9122     long scrollLeft();
9123
9124     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
9125     void clearAttributes();
9126
9127     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9128     void oncontextmenu(VARIANT v);
9129
9130     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9131     VARIANT oncontextmenu();
9132
9133     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
9134     IHTMLElement *insertAdjacentElement(
9135             [in] BSTR where,
9136             [in] IHTMLElement *insertedElement);
9137
9138     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
9139     IHTMLElement *applyElement(
9140             [in] IHTMLElement *apply,
9141             [in] BSTR where);
9142
9143     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
9144     BSTR getAdjacentText([in] BSTR where);
9145
9146     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
9147     BSTR replaceAdjacentText(
9148             [in] BSTR where,
9149             [in] BSTR newText);
9150
9151     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
9152     VARIANT_BOOL canHaveChildren();
9153
9154     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
9155     long addBehavior(
9156             [in] BSTR bstrUrl,
9157             [in, optional] VARIANT *pvarFactory);
9158
9159     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
9160     VARIANT_BOOL removeBehavior([in] long cookie);
9161
9162     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
9163     IHTMLStyle *runtimeStyle();
9164
9165     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
9166     IDispatch *behaviorUrns();
9167
9168     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
9169     void tagUrn(BSTR v);
9170
9171     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
9172     BSTR tagUrn();
9173
9174     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9175     void onbeforeeditfocus(VARIANT v);
9176
9177     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9178     VARIANT onbeforeeditfocus();
9179
9180     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
9181     long readyStateValue();
9182
9183     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
9184     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
9185
9186     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
9187     void mergeAttributes(
9188             [in] IHTMLElement *mergeThis,
9189             [in, optional] VARIANT *pvarFlags);
9190
9191     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
9192     VARIANT_BOOL isMultiLine();
9193
9194     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
9195     VARIANT_BOOL canHaveHTML();
9196
9197     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9198     void onlayoutcomplete(VARIANT v);
9199
9200     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9201     VARIANT onlayoutcomplete();
9202
9203     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9204     void onpage(VARIANT v);
9205
9206     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9207     VARIANT onpage();
9208
9209     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9210     void inflateBlock(VARIANT_BOOL v);
9211
9212     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9213     VARIANT_BOOL inflateBlock();
9214
9215     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9216     void onbeforedeactivate(VARIANT v);
9217
9218     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9219     VARIANT onbeforedeactivate();
9220
9221     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
9222     void setActive();
9223
9224     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9225     void contentEditable(BSTR v);
9226
9227     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9228     BSTR contentEditable();
9229
9230     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
9231     VARIANT_BOOL isContentEditable();
9232
9233     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9234     void hideFocus(VARIANT_BOOL v);
9235
9236     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9237     VARIANT_BOOL hideFocus();
9238
9239     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9240     void disabled(VARIANT_BOOL v);
9241
9242     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9243     VARIANT_BOOL disabled();
9244
9245     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
9246     VARIANT_BOOL isDisabled();
9247
9248     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9249     void onmove(VARIANT v);
9250
9251     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9252     VARIANT onmove();
9253
9254     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9255     void oncontrolselect(VARIANT v);
9256
9257     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9258     VARIANT oncontrolselect();
9259
9260     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
9261     VARIANT_BOOL fireEvent(
9262             [in] BSTR bstrEventName,
9263             [in, optional] VARIANT *pvarEventObject);
9264
9265     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9266     void onresizestart(VARIANT v);
9267
9268     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9269     VARIANT onresizestart();
9270
9271     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9272     void onresizeend(VARIANT v);
9273
9274     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9275     VARIANT onresizeend();
9276
9277     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9278     void onmovestart(VARIANT v);
9279
9280     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9281     VARIANT onmovestart();
9282
9283     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9284     void onmoveend(VARIANT v);
9285
9286     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9287     VARIANT onmoveend();
9288
9289     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9290     void onmouseenter(VARIANT v);
9291
9292     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9293     VARIANT onmouseenter();
9294
9295     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9296     void onmouseleave(VARIANT v);
9297
9298     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9299     VARIANT onmouseleave();
9300
9301     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9302     void onactivate(VARIANT v);
9303
9304     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9305     VARIANT onactivate();
9306
9307     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9308     void ondeactivate(VARIANT v);
9309
9310     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9311     VARIANT ondeactivate();
9312
9313     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
9314     VARIANT_BOOL dragDrop();
9315
9316     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
9317     LONG glyphMode();
9318
9319     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9320     void onmousewheel(VARIANT v);
9321
9322     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9323     VARIANT onmousewheel();
9324
9325     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
9326     void normalize();
9327
9328     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
9329     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
9330
9331     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
9332     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
9333
9334     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
9335     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
9336
9337     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9338     void onbeforeactivate(VARIANT v);
9339
9340     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9341     VARIANT onbeforeactivate();
9342
9343     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9344     void onfocusin(VARIANT v);
9345
9346     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9347     VARIANT onfocusin();
9348
9349     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9350     void onfocusout(VARIANT v);
9351
9352     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9353     VARIANT onfocusout();
9354
9355     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
9356     long uniqueNumber();
9357
9358     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
9359     BSTR uniqueID();
9360
9361     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
9362     long nodeType();
9363
9364     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
9365     IHTMLDOMNode *parentNode();
9366
9367     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
9368     VARIANT_BOOL hasChildNodes();
9369
9370     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
9371     IDispatch *childNodes();
9372
9373     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
9374     IDispatch *attributes();
9375
9376     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
9377     IHTMLDOMNode *insertBefore(
9378             [in] IHTMLDOMNode *newChild,
9379             [in, optional] VARIANT refChild);
9380
9381     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
9382     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
9383
9384     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
9385     IHTMLDOMNode *replaceChild(
9386             [in] IHTMLDOMNode *newChild,
9387             [in] IHTMLDOMNode *oldChild);
9388
9389     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
9390     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
9391
9392     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
9393     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
9394
9395     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
9396     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
9397
9398     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
9399     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
9400
9401     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
9402     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
9403
9404     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
9405     BSTR nodeName();
9406
9407     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9408     void nodeValue(VARIANT v);
9409
9410     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9411     VARIANT nodeValue();
9412
9413     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
9414     IHTMLDOMNode *firstChild();
9415
9416     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
9417     IHTMLDOMNode *lastChild();
9418
9419     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
9420     IHTMLDOMNode *previousSibling();
9421
9422     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
9423     IHTMLDOMNode *nextSibling();
9424
9425     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
9426     IDispatch *ownerDocument();
9427
9428     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9429     void dataFld(BSTR v);
9430
9431     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9432     BSTR dataFld();
9433
9434     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
9435     void dataSrc(BSTR v);
9436
9437     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
9438     BSTR dataSrc();
9439
9440     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9441     void dataFormatAs(BSTR v);
9442
9443     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9444     BSTR dataFormatAs();
9445
9446     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9447     void size(long v);
9448
9449     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9450     long size();
9451
9452     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9453     void multiple(VARIANT_BOOL v);
9454
9455     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9456     VARIANT_BOOL multiple();
9457
9458     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9459     void name(BSTR v);
9460
9461     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9462     BSTR name();
9463
9464     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9465     IDispatch *options();
9466
9467     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9468     void onchange(VARIANT v);
9469
9470     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9471     VARIANT onchange();
9472
9473     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9474     void selectedIndex(long v);
9475
9476     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9477     long selectedIndex();
9478
9479     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9480     BSTR type();
9481
9482     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9483     void value(BSTR v);
9484
9485     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9486     BSTR value();
9487
9488     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9489     IHTMLFormElement *form();
9490
9491     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9492     void add(
9493             [in] IHTMLElement *element,
9494             [in, optional] VARIANT before);
9495
9496     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9497     void remove([in, defaultvalue(-1)] long index);
9498
9499     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9500     void length(long v);
9501
9502     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9503     long length();
9504
9505     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9506     IUnknown *_newEnum();
9507
9508     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9509     IDispatch *item(
9510             [in, optional] VARIANT name,
9511             [in, optional] VARIANT index);
9512
9513     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9514     IDispatch *tags([in] VARIANT tagName);
9515
9516     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
9517     IDispatch *urns([in] VARIANT urn);
9518
9519     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
9520     IDispatch *namedItem([in] BSTR name);
9521 }
9522
9523 /*****************************************************************************
9524  *    IHTMLSelectionObject interface
9525  */
9526 [
9527     odl,
9528     oleautomation,
9529     dual,
9530     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
9531 ]
9532 interface IHTMLSelectionObject : IDispatch
9533 {
9534     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
9535     HRESULT createRange([retval, out] IDispatch **range);
9536
9537     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
9538     HRESULT empty();
9539
9540     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
9541     HRESULT clear();
9542
9543     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
9544     HRESULT type([retval, out] BSTR *p);
9545 }
9546
9547 /*****************************************************************************
9548  *    IHTMLOptionElement interface
9549  */
9550 [
9551     odl,
9552     oleautomation,
9553     dual,
9554     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
9555 ]
9556 interface IHTMLOptionElement : IDispatch
9557 {
9558     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9559     HRESULT selected([in] VARIANT_BOOL v);
9560
9561     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9562     HRESULT selected([retval, out] VARIANT_BOOL *p);
9563
9564     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9565     HRESULT value([in] BSTR v);
9566
9567     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9568     HRESULT value([retval, out] BSTR *p);
9569
9570     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9571     HRESULT defaultSelected([in] VARIANT_BOOL v);
9572
9573     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9574     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
9575
9576     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9577     HRESULT index([in] LONG v);
9578
9579     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9580     HRESULT index([retval, out] LONG *p);
9581
9582     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9583     HRESULT text([in] BSTR v);
9584
9585     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9586     HRESULT text([retval, out] BSTR *p);
9587
9588     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9589     HRESULT form([retval, out] IHTMLFormElement **p);
9590 }
9591
9592 /*****************************************************************************
9593  *    IHTMLOptionElementFactory interface
9594  */
9595 [
9596     odl,
9597     oleautomation,
9598     dual,
9599     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
9600 ]
9601 interface IHTMLOptionElementFactory : IDispatch
9602 {
9603     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
9604     HRESULT create(
9605         [optional, in] VARIANT text,
9606         [optional, in] VARIANT value,
9607         [optional, in] VARIANT defaultselected,
9608         [optional, in] VARIANT selected,
9609         [retval, out] IHTMLOptionElement **optelem);
9610 }
9611
9612 /*****************************************************************************
9613  *    DispHTMLOptionElement dispinterface
9614  */
9615 [
9616     hidden,
9617     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
9618 ]
9619 dispinterface DispHTMLOptionElement
9620 {
9621 properties:
9622 methods:
9623     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
9624     void setAttribute(
9625             [in] BSTR strAttributeName,
9626             [in] VARIANT AttributeValue,
9627             [in, defaultvalue(1)] LONG lFlags);
9628
9629     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
9630     VARIANT getAttribute(
9631              [in] BSTR strAttributeName,
9632              [in, defaultvalue(0)] LONG lFlags);
9633
9634     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
9635     VARIANT_BOOL removeAttribute(
9636             [in] BSTR strAttributeName,
9637             [in, defaultvalue(1)] LONG lFlags);
9638
9639     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9640     void className(BSTR v);
9641
9642     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9643     BSTR className();
9644
9645     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
9646     void id(BSTR v);
9647
9648     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
9649     BSTR id();
9650
9651     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
9652     BSTR tagName();
9653
9654     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
9655     IHTMLElement *parentElement();
9656
9657     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
9658     IHTMLStyle *style();
9659
9660     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9661     void onhelp(VARIANT v);
9662
9663     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9664     VARIANT onhelp();
9665
9666     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9667     void onclick(VARIANT v);
9668
9669     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9670     VARIANT onclick();
9671
9672     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9673     void ondblclick(VARIANT v);
9674
9675     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9676     VARIANT ondblclick();
9677
9678     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9679     void onkeydown(VARIANT v);
9680
9681     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9682     VARIANT onkeydown();
9683
9684     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9685     void onkeyup(VARIANT v);
9686
9687     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9688     VARIANT onkeyup();
9689
9690     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9691     void onkeypress(VARIANT v);
9692
9693     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9694     VARIANT onkeypress();
9695
9696     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9697     void onmouseout(VARIANT v);
9698
9699     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9700     VARIANT onmouseout();
9701
9702     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9703     void onmouseover(VARIANT v);
9704
9705     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9706     VARIANT onmouseover();
9707
9708     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9709     void onmousemove(VARIANT v);
9710
9711     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9712     VARIANT onmousemove();
9713
9714     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9715     void onmousedown(VARIANT v);
9716
9717     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9718     VARIANT onmousedown();
9719
9720     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9721     void onmouseup(VARIANT v);
9722
9723     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9724     VARIANT onmouseup();
9725
9726     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
9727     IDispatch *document();
9728
9729     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9730     void title(BSTR v);
9731
9732     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9733     BSTR title();
9734
9735     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9736     void language(BSTR v);
9737
9738     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9739     BSTR language();
9740
9741     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9742     void onselectstart(VARIANT v);
9743
9744     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9745     VARIANT onselectstart();
9746
9747     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
9748     void scrollIntoView([in, optional] VARIANT varargStart);
9749
9750     [id(DISPID_IHTMLELEMENT_CONTAINS)]
9751     VARIANT_BOOL contains([in] IHTMLElement *pChild);
9752
9753     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
9754     long sourceIndex();
9755
9756     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
9757     VARIANT recordNumber();
9758
9759     [propput, id(DISPID_IHTMLELEMENT_LANG)]
9760     void lang(BSTR v);
9761
9762     [propget, id(DISPID_IHTMLELEMENT_LANG)]
9763     BSTR lang();
9764
9765     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
9766     long offsetLeft();
9767
9768     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
9769     long offsetTop();
9770
9771     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
9772     long offsetWidth();
9773
9774     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
9775     long offsetHeight();
9776
9777     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
9778     IHTMLElement *offsetParent();
9779
9780     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
9781     void innerHTML(BSTR v);
9782
9783     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
9784     BSTR innerHTML();
9785
9786     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9787     void innerText(BSTR v);
9788
9789     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9790     BSTR innerText();
9791
9792     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9793     void outerHTML(BSTR v);
9794
9795     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9796     BSTR outerHTML();
9797
9798     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9799     void outerText(BSTR v);
9800
9801     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9802     BSTR outerText();
9803
9804     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
9805     void insertAdjacentHTML(
9806             [in] BSTR where,
9807             [in] BSTR html);
9808
9809     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
9810     void insertAdjacentText(
9811             [in] BSTR where,
9812             [in] BSTR text);
9813
9814     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
9815     IHTMLElement *parentTextEdit();
9816
9817     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
9818     VARIANT_BOOL isTextEdit();
9819
9820     [id(DISPID_IHTMLELEMENT_CLICK)]
9821     void click();
9822
9823     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
9824     IHTMLFiltersCollection *filters();
9825
9826     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9827     void ondragstart(VARIANT v);
9828
9829     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9830     VARIANT ondragstart();
9831
9832     [id(DISPID_IHTMLELEMENT_TOSTRING)]
9833     BSTR toString();
9834
9835     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9836     void onbeforeupdate(VARIANT v);
9837
9838     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9839     VARIANT onbeforeupdate();
9840
9841     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9842     void onafterupdate(VARIANT v);
9843
9844     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9845     VARIANT onafterupdate();
9846
9847     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9848     void onerrorupdate(VARIANT v);
9849
9850     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9851     VARIANT onerrorupdate();
9852
9853     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9854     void onrowexit(VARIANT v);
9855
9856     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9857     VARIANT onrowexit();
9858
9859     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9860     void onrowenter(VARIANT v);
9861
9862     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9863     VARIANT onrowenter();
9864
9865     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9866     void ondatasetchanged(VARIANT v);
9867
9868     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9869     VARIANT ondatasetchanged();
9870
9871     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9872     void ondataavailable(VARIANT v);
9873
9874     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9875     VARIANT ondataavailable();
9876
9877     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9878     void ondatasetcomplete(VARIANT v);
9879
9880     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9881     VARIANT ondatasetcomplete();
9882
9883     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9884     void onfilterchange(VARIANT v);
9885
9886     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9887     VARIANT onfilterchange();
9888
9889     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
9890     IDispatch *children();
9891
9892     [propget, id(DISPID_IHTMLELEMENT_ALL)]
9893     IDispatch *all();
9894
9895     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
9896     BSTR scopeName();
9897
9898     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
9899     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
9900
9901     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
9902     void releaseCapture();
9903
9904     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9905     void onlosecapture(VARIANT v);
9906
9907     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9908     VARIANT onlosecapture();
9909
9910     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
9911     BSTR componentFromPoint(
9912             [in] long x,
9913             [in] long y);
9914
9915     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
9916     void doScroll([in, optional] VARIANT component);
9917
9918     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9919     void onscroll(VARIANT v);
9920
9921     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9922     VARIANT onscroll();
9923
9924     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9925     void ondrag(VARIANT v);
9926
9927     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9928     VARIANT ondrag();
9929
9930     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9931     void ondragend(VARIANT v);
9932
9933     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9934     VARIANT ondragend();
9935
9936     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9937     void ondragenter(VARIANT v);
9938
9939     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9940     VARIANT ondragenter();
9941
9942     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9943     void ondragover(VARIANT v);
9944
9945     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9946     VARIANT ondragover();
9947
9948     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9949     void ondragleave(VARIANT v);
9950
9951     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9952     VARIANT ondragleave();
9953
9954     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9955     void ondrop(VARIANT v);
9956
9957     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9958     VARIANT ondrop();
9959
9960     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9961     void onbeforecut(VARIANT v);
9962
9963     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9964     VARIANT onbeforecut();
9965
9966     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9967     void oncut(VARIANT v);
9968
9969     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9970     VARIANT oncut();
9971
9972     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9973     void onbeforecopy(VARIANT v);
9974
9975     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9976     VARIANT onbeforecopy();
9977
9978     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9979     void oncopy(VARIANT v);
9980
9981     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9982     VARIANT oncopy();
9983
9984     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9985     void onbeforepaste(VARIANT v);
9986
9987     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9988     VARIANT onbeforepaste();
9989
9990     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9991     void onpaste(VARIANT v);
9992
9993     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9994     VARIANT onpaste();
9995
9996     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
9997     IHTMLCurrentStyle *currentStyle();
9998
9999     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10000     void onpropertychange(VARIANT v);
10001
10002     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10003     VARIANT onpropertychange();
10004
10005     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
10006     IHTMLRectCollection *getClientRects();
10007
10008     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
10009     IHTMLRect *getBoundingClientRect();
10010
10011     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
10012     void setExpression(
10013             [in] BSTR propname,
10014             [in] BSTR expression,
10015             [in, defaultvalue("")] BSTR language);
10016
10017     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
10018     VARIANT getExpression([in] BSTR propname);
10019
10020     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
10021     VARIANT_BOOL removeExpression([in] BSTR propname);
10022
10023     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10024     void tabIndex(short v);
10025
10026     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10027     short tabIndex();
10028
10029     [id(DISPID_IHTMLELEMENT2_FOCUS)]
10030     void focus();
10031
10032     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10033     void accessKey(BSTR v);
10034
10035     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10036     BSTR accessKey();
10037
10038     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10039     void onblur(VARIANT v);
10040
10041     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10042     VARIANT onblur();
10043
10044     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10045     void onfocus(VARIANT v);
10046
10047     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10048     VARIANT onfocus();
10049
10050     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10051     void onresize(VARIANT v);
10052
10053     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10054     VARIANT onresize();
10055
10056     [id(DISPID_IHTMLELEMENT2_BLUR)]
10057     void blur();
10058
10059     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
10060     void addFilter([in] IUnknown *pUnk);
10061
10062     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
10063     void removeFilter([in] IUnknown *pUnk);
10064
10065     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
10066     long clientHeight();
10067
10068     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
10069     long clientWidth();
10070
10071     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
10072     long clientTop();
10073
10074     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
10075     long clientLeft();
10076
10077     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
10078     VARIANT_BOOL attachEvent(
10079             [in] BSTR event,
10080             [in] IDispatch *pDisp);
10081
10082     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
10083     void detachEvent(
10084             [in] BSTR event,
10085             [in] IDispatch *pDisp);
10086
10087     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
10088     VARIANT readyState();
10089
10090     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10091     void onreadystatechange(VARIANT v);
10092
10093     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10094     VARIANT onreadystatechange();
10095
10096     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10097     void onrowsdelete(VARIANT v);
10098
10099     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10100     VARIANT onrowsdelete();
10101
10102     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10103     void onrowsinserted(VARIANT v);
10104
10105     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10106      VARIANT onrowsinserted();
10107
10108     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10109      void oncellchange(VARIANT v);
10110
10111     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10112     VARIANT oncellchange();
10113
10114     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10115     void dir(BSTR v);
10116
10117     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10118     BSTR dir();
10119
10120     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
10121     IDispatch *createControlRange();
10122
10123     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
10124     long scrollHeight();
10125
10126     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
10127     long scrollWidth();
10128
10129     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10130     void scrollTop(long v);
10131
10132     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10133     long scrollTop();
10134
10135     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10136     void scrollLeft(long v);
10137
10138     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10139     long scrollLeft();
10140
10141     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
10142     void clearAttributes();
10143
10144     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10145     void oncontextmenu(VARIANT v);
10146
10147     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10148     VARIANT oncontextmenu();
10149
10150     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
10151     IHTMLElement *insertAdjacentElement(
10152             [in] BSTR where,
10153             [in] IHTMLElement *insertedElement);
10154
10155     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
10156     IHTMLElement *applyElement(
10157             [in] IHTMLElement *apply,
10158             [in] BSTR where);
10159
10160     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
10161     BSTR getAdjacentText([in] BSTR where);
10162
10163     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
10164     BSTR replaceAdjacentText(
10165             [in] BSTR where,
10166             [in] BSTR newText);
10167
10168     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
10169     VARIANT_BOOL canHaveChildren();
10170
10171     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
10172     long addBehavior(
10173             [in] BSTR bstrUrl,
10174             [in, optional] VARIANT *pvarFactory);
10175
10176     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
10177     VARIANT_BOOL removeBehavior([in] long cookie);
10178
10179     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
10180     IHTMLStyle *runtimeStyle();
10181
10182     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
10183     IDispatch *behaviorUrns();
10184
10185     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
10186     void tagUrn(BSTR v);
10187
10188     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
10189     BSTR tagUrn();
10190
10191     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10192     void onbeforeeditfocus(VARIANT v);
10193
10194     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10195     VARIANT onbeforeeditfocus();
10196
10197     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
10198     long readyStateValue();
10199
10200     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
10201     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
10202
10203     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
10204     void mergeAttributes(
10205             [in] IHTMLElement *mergeThis,
10206             [in, optional] VARIANT *pvarFlags);
10207
10208     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
10209     VARIANT_BOOL isMultiLine();
10210
10211     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
10212     VARIANT_BOOL canHaveHTML();
10213
10214     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10215     void onlayoutcomplete(VARIANT v);
10216
10217     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10218     VARIANT onlayoutcomplete();
10219
10220     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10221     void onpage(VARIANT v);
10222
10223     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10224     VARIANT onpage();
10225
10226     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10227     void inflateBlock(VARIANT_BOOL v);
10228
10229     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10230     VARIANT_BOOL inflateBlock();
10231
10232     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10233     void onbeforedeactivate(VARIANT v);
10234
10235     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10236     VARIANT onbeforedeactivate();
10237
10238     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
10239     void setActive();
10240
10241     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10242     void contentEditable(BSTR v);
10243
10244     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10245     BSTR contentEditable();
10246
10247     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
10248     VARIANT_BOOL isContentEditable();
10249
10250     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10251     void hideFocus(VARIANT_BOOL v);
10252
10253     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10254     VARIANT_BOOL hideFocus();
10255
10256     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10257     void disabled(VARIANT_BOOL v);
10258
10259     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10260     VARIANT_BOOL disabled();
10261
10262     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
10263     VARIANT_BOOL isDisabled();
10264
10265     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10266     void onmove(VARIANT v);
10267
10268     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10269     VARIANT onmove();
10270
10271     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10272     void oncontrolselect(VARIANT v);
10273
10274     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10275     VARIANT oncontrolselect();
10276
10277     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
10278     VARIANT_BOOL fireEvent(
10279             [in] BSTR bstrEventName,
10280             [in, optional] VARIANT *pvarEventObject);
10281
10282     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10283     void onresizestart(VARIANT v);
10284
10285     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10286     VARIANT onresizestart();
10287
10288     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10289     void onresizeend(VARIANT v);
10290
10291     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10292     VARIANT onresizeend();
10293
10294     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10295     void onmovestart(VARIANT v);
10296
10297     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10298     VARIANT onmovestart();
10299
10300     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10301     void onmoveend(VARIANT v);
10302
10303     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10304     VARIANT onmoveend();
10305
10306     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10307     void onmouseenter(VARIANT v);
10308
10309     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10310     VARIANT onmouseenter();
10311
10312     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10313     void onmouseleave(VARIANT v);
10314
10315     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10316     VARIANT onmouseleave();
10317
10318     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10319     void onactivate(VARIANT v);
10320
10321     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10322     VARIANT onactivate();
10323
10324     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10325     void ondeactivate(VARIANT v);
10326
10327     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10328     VARIANT ondeactivate();
10329
10330     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
10331     VARIANT_BOOL dragDrop();
10332
10333     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
10334     LONG glyphMode();
10335
10336     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10337     void onmousewheel(VARIANT v);
10338
10339     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10340     VARIANT onmousewheel();
10341
10342     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
10343     void normalize();
10344
10345     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
10346     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
10347
10348     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
10349     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
10350
10351     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
10352     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
10353
10354     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10355     void onbeforeactivate(VARIANT v);
10356
10357     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10358     VARIANT onbeforeactivate();
10359
10360     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10361     void onfocusin(VARIANT v);
10362
10363     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10364     VARIANT onfocusin();
10365
10366     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10367     void onfocusout(VARIANT v);
10368
10369     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10370     VARIANT onfocusout();
10371
10372     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
10373     long uniqueNumber();
10374
10375     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
10376     BSTR uniqueID();
10377
10378     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
10379     long nodeType();
10380
10381     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
10382     IHTMLDOMNode *parentNode();
10383
10384     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
10385     VARIANT_BOOL hasChildNodes();
10386
10387     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
10388     IDispatch *childNodes();
10389
10390     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
10391     IDispatch *attributes();
10392
10393     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
10394     IHTMLDOMNode *insertBefore(
10395             [in] IHTMLDOMNode *newChild,
10396             [in, optional] VARIANT refChild);
10397
10398     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
10399     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
10400
10401     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
10402     IHTMLDOMNode *replaceChild(
10403             [in] IHTMLDOMNode *newChild,
10404             [in] IHTMLDOMNode *oldChild);
10405
10406     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
10407     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
10408
10409     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
10410     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
10411
10412     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
10413     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
10414
10415     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
10416     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
10417
10418     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
10419     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
10420
10421     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
10422     BSTR nodeName();
10423
10424     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10425     void nodeValue(VARIANT v);
10426
10427     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10428     VARIANT nodeValue();
10429
10430     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
10431     IHTMLDOMNode *firstChild();
10432
10433     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
10434     IHTMLDOMNode *lastChild();
10435
10436     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
10437     IHTMLDOMNode *previousSibling();
10438
10439     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
10440     IHTMLDOMNode *nextSibling();
10441
10442     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
10443     IDispatch *ownerDocument();
10444
10445     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10446     void dataFld(BSTR v);
10447
10448     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10449     BSTR dataFld();
10450
10451     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
10452     void dataSrc(BSTR v);
10453
10454     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
10455     BSTR dataSrc();
10456
10457     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10458     void dataFormatAs(BSTR v);
10459
10460     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10461     BSTR dataFormatAs();
10462
10463     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
10464     void selected(VARIANT_BOOL v);
10465
10466     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
10467     VARIANT_BOOL selected();
10468
10469     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
10470     void value(BSTR v);
10471
10472     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
10473     BSTR value();
10474
10475     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
10476     void defaultSelected(VARIANT_BOOL v);
10477
10478     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
10479     VARIANT_BOOL defaultSelected();
10480
10481     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10482     void index(LONG v);
10483
10484     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10485     LONG index();
10486
10487     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10488     void text(BSTR v);
10489
10490     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10491     BSTR text();
10492
10493     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
10494     IHTMLFormElement *form();
10495
10496     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10497     void label(BSTR v);
10498
10499     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10500     BSTR label();
10501 }
10502
10503 /*****************************************************************************
10504  *    IHTMLInputElement interface
10505  */
10506 [
10507     odl,
10508     oleautomation,
10509     dual,
10510     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
10511 ]
10512 interface IHTMLInputElement : IDispatch
10513 {
10514     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10515     HRESULT type([in] BSTR v);
10516
10517     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10518     HRESULT type([retval, out] BSTR *p);
10519
10520     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10521     HRESULT value([in] BSTR v);
10522
10523     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10524     HRESULT value([retval, out] BSTR *p);
10525
10526     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10527     HRESULT name([in] BSTR v);
10528
10529     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10530     HRESULT name([retval, out] BSTR *p);
10531
10532     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10533     HRESULT status([in] VARIANT_BOOL v);
10534
10535     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10536     HRESULT status([retval, out] VARIANT_BOOL *p);
10537
10538     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10539     HRESULT disabled([in] VARIANT_BOOL v);
10540
10541     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10542     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10543
10544     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
10545     HRESULT form([retval, out] IHTMLFormElement **p);
10546
10547     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10548     HRESULT size([in] long v);
10549
10550     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10551     HRESULT size([retval, out] long *p);
10552
10553     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10554     HRESULT maxLength([in] long v);
10555
10556     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10557     HRESULT maxLength([retval, out] long *p);
10558
10559     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
10560     HRESULT select();
10561
10562     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10563     HRESULT onchange([in] VARIANT v);
10564
10565     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10566     HRESULT onchange([retval, out] VARIANT *p);
10567
10568     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10569     HRESULT onselect([in] VARIANT v);
10570
10571     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10572     HRESULT onselect([retval, out] VARIANT *p);
10573
10574     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10575     HRESULT defaultValue([in] BSTR v);
10576
10577     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10578     HRESULT defaultValue([retval, out] BSTR *p);
10579
10580     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10581     HRESULT readOnly([in] VARIANT_BOOL v);
10582
10583     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10584     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10585
10586     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
10587     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10588
10589     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10590     HRESULT indeterminate([in] VARIANT_BOOL v);
10591
10592     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10593     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
10594
10595     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10596     HRESULT defaultChecked([in] VARIANT_BOOL v);
10597
10598     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10599     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
10600
10601     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10602     HRESULT checked([in] VARIANT_BOOL v);
10603
10604     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10605     HRESULT checked([retval, out] VARIANT_BOOL *p);
10606
10607     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10608     HRESULT border([in] VARIANT v);
10609
10610     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10611     HRESULT border([retval, out] VARIANT *p);
10612
10613     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10614     HRESULT vspace([in] long v);
10615
10616     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10617     HRESULT vspace([retval, out] long *p);
10618
10619     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10620     HRESULT hspace([in] long v);
10621
10622     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10623     HRESULT hspace([retval, out] long *p);
10624
10625     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10626     HRESULT alt([in] BSTR v);
10627
10628     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10629     HRESULT alt([retval, out] BSTR *p);
10630
10631     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10632     HRESULT src([in] BSTR v);
10633
10634     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10635     HRESULT src([retval, out] BSTR *p);
10636
10637     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10638     HRESULT lowsrc([in] BSTR v);
10639
10640     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10641     HRESULT lowsrc([retval, out] BSTR *p);
10642
10643     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10644     HRESULT vrml([in] BSTR v);
10645
10646     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10647     HRESULT vrml([retval, out] BSTR *p);
10648
10649     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10650     HRESULT dynsrc([in] BSTR v);
10651
10652     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10653     HRESULT dynsrc([retval, out] BSTR *p);
10654
10655     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
10656     HRESULT readyState([retval, out] BSTR *p);
10657
10658     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
10659     HRESULT complete([retval, out] VARIANT_BOOL *p);
10660
10661     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10662     HRESULT loop([in] VARIANT v);
10663
10664     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10665     HRESULT loop([retval, out] VARIANT *p);
10666
10667     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10668     HRESULT align([in] BSTR v);
10669
10670     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10671     HRESULT align([retval, out] BSTR *p);
10672
10673     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10674     HRESULT onload([in] VARIANT v);
10675
10676     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10677     HRESULT onload([retval, out] VARIANT *p);
10678
10679     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10680     HRESULT onerror([in] VARIANT v);
10681
10682     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10683     HRESULT onerror([retval, out] VARIANT *p);
10684
10685     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10686     HRESULT onabort([in] VARIANT v);
10687
10688     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10689     HRESULT onabort([retval, out] VARIANT *p);
10690
10691     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10692     HRESULT width([in] long v);
10693
10694     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10695     HRESULT width([retval, out] long *p);
10696
10697     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10698     HRESULT height([in] long v);
10699
10700     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10701     HRESULT height([retval, out] long *p);
10702
10703     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10704     HRESULT start([in] BSTR v);
10705
10706     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10707     HRESULT start([retval, out] BSTR *p);
10708 }
10709
10710 /*****************************************************************************
10711  *    IHTMLInputTextElement interface
10712  */
10713 [
10714     odl,
10715     oleautomation,
10716     dual,
10717     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
10718 ]
10719 interface IHTMLInputTextElement : IDispatch
10720 {
10721     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
10722     HRESULT type([retval, out] BSTR *p);
10723
10724     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10725     HRESULT value([in] BSTR v);
10726
10727     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10728     HRESULT value([retval, out] BSTR *p);
10729
10730     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10731     HRESULT name([in] BSTR v);
10732
10733     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10734     HRESULT name([retval, out] BSTR *p);
10735
10736     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10737     HRESULT status([in] VARIANT v);
10738
10739     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10740     HRESULT status([retval, out] VARIANT *p);
10741
10742     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10743     HRESULT disabled([in] VARIANT_BOOL v);
10744
10745     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10746     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10747
10748     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
10749     HRESULT form([retval, out] IHTMLFormElement **p);
10750
10751     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10752     HRESULT defaultValue([in] BSTR v);
10753
10754     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10755     HRESULT defaultValue([retval, out] BSTR *p);
10756
10757     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10758     HRESULT size([in] long v);
10759
10760     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10761     HRESULT size([retval, out] long *p);
10762
10763     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10764     HRESULT maxLength([in] long v);
10765
10766     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10767     HRESULT maxLength([retval, out] long *p);
10768
10769     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
10770     HRESULT select();
10771
10772     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10773     HRESULT onchange([in] VARIANT v);
10774
10775     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10776     HRESULT onchange([retval, out] VARIANT *p);
10777
10778     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10779     HRESULT onselect([in] VARIANT v);
10780
10781     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10782     HRESULT onselect([retval, out] VARIANT *p);
10783
10784     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10785     HRESULT readOnly([in] VARIANT_BOOL v);
10786
10787     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10788     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10789
10790     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
10791     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10792 }
10793
10794 [
10795     hidden,
10796     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
10797 ]
10798 dispinterface DispHTMLInputElement
10799 {
10800 properties:
10801 methods:
10802     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
10803     void setAttribute(
10804             [in] BSTR strAttributeName,
10805             [in] VARIANT AttributeValue,
10806             [in, defaultvalue(1)] LONG lFlags);
10807
10808     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
10809     VARIANT getAttribute(
10810              [in] BSTR strAttributeName,
10811              [in, defaultvalue(0)] LONG lFlags);
10812
10813     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
10814     VARIANT_BOOL removeAttribute(
10815             [in] BSTR strAttributeName,
10816             [in, defaultvalue(1)] LONG lFlags);
10817
10818     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10819     void className(BSTR v);
10820
10821     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10822     BSTR className();
10823
10824     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
10825     void id(BSTR v);
10826
10827     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
10828     BSTR id();
10829
10830     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
10831     BSTR tagName();
10832
10833     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
10834     IHTMLElement *parentElement();
10835
10836     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
10837     IHTMLStyle *style();
10838
10839     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10840     void onhelp(VARIANT v);
10841
10842     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10843     VARIANT onhelp();
10844
10845     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10846     void onclick(VARIANT v);
10847
10848     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10849     VARIANT onclick();
10850
10851     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10852     void ondblclick(VARIANT v);
10853
10854     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10855     VARIANT ondblclick();
10856
10857     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10858     void onkeydown(VARIANT v);
10859
10860     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10861     VARIANT onkeydown();
10862
10863     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10864     void onkeyup(VARIANT v);
10865
10866     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10867     VARIANT onkeyup();
10868
10869     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10870     void onkeypress(VARIANT v);
10871
10872     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10873     VARIANT onkeypress();
10874
10875     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10876     void onmouseout(VARIANT v);
10877
10878     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10879     VARIANT onmouseout();
10880
10881     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10882     void onmouseover(VARIANT v);
10883
10884     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10885     VARIANT onmouseover();
10886
10887     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10888     void onmousemove(VARIANT v);
10889
10890     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10891     VARIANT onmousemove();
10892
10893     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10894     void onmousedown(VARIANT v);
10895
10896     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10897     VARIANT onmousedown();
10898
10899     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10900     void onmouseup(VARIANT v);
10901
10902     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10903     VARIANT onmouseup();
10904
10905     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
10906     IDispatch *document();
10907
10908     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10909     void title(BSTR v);
10910
10911     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10912     BSTR title();
10913
10914     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10915     void language(BSTR v);
10916
10917     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10918     BSTR language();
10919
10920     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10921     void onselectstart(VARIANT v);
10922
10923     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10924     VARIANT onselectstart();
10925
10926     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
10927     void scrollIntoView([in, optional] VARIANT varargStart);
10928
10929     [id(DISPID_IHTMLELEMENT_CONTAINS)]
10930     VARIANT_BOOL contains([in] IHTMLElement *pChild);
10931
10932     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
10933     long sourceIndex();
10934
10935     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
10936     VARIANT recordNumber();
10937
10938     [propput, id(DISPID_IHTMLELEMENT_LANG)]
10939     void lang(BSTR v);
10940
10941     [propget, id(DISPID_IHTMLELEMENT_LANG)]
10942     BSTR lang();
10943
10944     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
10945     long offsetLeft();
10946
10947     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
10948     long offsetTop();
10949
10950     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
10951     long offsetWidth();
10952
10953     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
10954     long offsetHeight();
10955
10956     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
10957     IHTMLElement *offsetParent();
10958
10959     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
10960     void innerHTML(BSTR v);
10961
10962     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
10963     BSTR innerHTML();
10964
10965     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10966     void innerText(BSTR v);
10967
10968     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10969     BSTR innerText();
10970
10971     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10972     void outerHTML(BSTR v);
10973
10974     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10975     BSTR outerHTML();
10976
10977     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
10978     void outerText(BSTR v);
10979
10980     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
10981     BSTR outerText();
10982
10983     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
10984     void insertAdjacentHTML(
10985             [in] BSTR where,
10986             [in] BSTR html);
10987
10988     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
10989     void insertAdjacentText(
10990             [in] BSTR where,
10991             [in] BSTR text);
10992
10993     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
10994     IHTMLElement *parentTextEdit();
10995
10996     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
10997     VARIANT_BOOL isTextEdit();
10998
10999     [id(DISPID_IHTMLELEMENT_CLICK)]
11000     void click();
11001
11002     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
11003     IHTMLFiltersCollection *filters();
11004
11005     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11006     void ondragstart(VARIANT v);
11007
11008     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11009     VARIANT ondragstart();
11010
11011     [id(DISPID_IHTMLELEMENT_TOSTRING)]
11012     BSTR toString();
11013
11014     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11015     void onbeforeupdate(VARIANT v);
11016
11017     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11018     VARIANT onbeforeupdate();
11019
11020     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11021     void onafterupdate(VARIANT v);
11022
11023     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11024     VARIANT onafterupdate();
11025
11026     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11027     void onerrorupdate(VARIANT v);
11028
11029     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11030     VARIANT onerrorupdate();
11031
11032     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11033     void onrowexit(VARIANT v);
11034
11035     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11036     VARIANT onrowexit();
11037
11038     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11039     void onrowenter(VARIANT v);
11040
11041     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11042     VARIANT onrowenter();
11043
11044     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11045     void ondatasetchanged(VARIANT v);
11046
11047     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11048     VARIANT ondatasetchanged();
11049
11050     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11051     void ondataavailable(VARIANT v);
11052
11053     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11054     VARIANT ondataavailable();
11055
11056     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11057     void ondatasetcomplete(VARIANT v);
11058
11059     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11060     VARIANT ondatasetcomplete();
11061
11062     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11063     void onfilterchange(VARIANT v);
11064
11065     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11066     VARIANT onfilterchange();
11067
11068     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
11069     IDispatch *children();
11070
11071     [propget, id(DISPID_IHTMLELEMENT_ALL)]
11072     IDispatch *all();
11073
11074     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
11075     BSTR scopeName();
11076
11077     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
11078     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
11079
11080     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
11081     void releaseCapture();
11082
11083     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11084     void onlosecapture(VARIANT v);
11085
11086     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11087     VARIANT onlosecapture();
11088
11089     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
11090     BSTR componentFromPoint(
11091             [in] long x,
11092             [in] long y);
11093
11094     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
11095     void doScroll([in, optional] VARIANT component);
11096
11097     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11098     void onscroll(VARIANT v);
11099
11100     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11101     VARIANT onscroll();
11102
11103     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11104     void ondrag(VARIANT v);
11105
11106     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11107     VARIANT ondrag();
11108
11109     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11110     void ondragend(VARIANT v);
11111
11112     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11113     VARIANT ondragend();
11114
11115     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11116     void ondragenter(VARIANT v);
11117
11118     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11119     VARIANT ondragenter();
11120
11121     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11122     void ondragover(VARIANT v);
11123
11124     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11125     VARIANT ondragover();
11126
11127     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11128     void ondragleave(VARIANT v);
11129
11130     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11131     VARIANT ondragleave();
11132
11133     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11134     void ondrop(VARIANT v);
11135
11136     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11137     VARIANT ondrop();
11138
11139     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11140     void onbeforecut(VARIANT v);
11141
11142     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11143     VARIANT onbeforecut();
11144
11145     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11146     void oncut(VARIANT v);
11147
11148     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11149     VARIANT oncut();
11150
11151     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11152     void onbeforecopy(VARIANT v);
11153
11154     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11155     VARIANT onbeforecopy();
11156
11157     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11158     void oncopy(VARIANT v);
11159
11160     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11161     VARIANT oncopy();
11162
11163     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11164     void onbeforepaste(VARIANT v);
11165
11166     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11167     VARIANT onbeforepaste();
11168
11169     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11170     void onpaste(VARIANT v);
11171
11172     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11173     VARIANT onpaste();
11174
11175     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
11176     IHTMLCurrentStyle *currentStyle();
11177
11178     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11179     void onpropertychange(VARIANT v);
11180
11181     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11182     VARIANT onpropertychange();
11183
11184     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
11185     IHTMLRectCollection *getClientRects();
11186
11187     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
11188     IHTMLRect *getBoundingClientRect();
11189
11190     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
11191     void setExpression(
11192             [in] BSTR propname,
11193             [in] BSTR expression,
11194             [in, defaultvalue("")] BSTR language);
11195
11196     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
11197     VARIANT getExpression([in] BSTR propname);
11198
11199     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
11200     VARIANT_BOOL removeExpression([in] BSTR propname);
11201
11202     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11203     void tabIndex(short v);
11204
11205     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11206     short tabIndex();
11207
11208     [id(DISPID_IHTMLELEMENT2_FOCUS)]
11209     void focus();
11210
11211     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11212     void accessKey(BSTR v);
11213
11214     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11215     BSTR accessKey();
11216
11217     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11218     void onblur(VARIANT v);
11219
11220     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11221     VARIANT onblur();
11222
11223     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11224     void onfocus(VARIANT v);
11225
11226     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11227     VARIANT onfocus();
11228
11229     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11230     void onresize(VARIANT v);
11231
11232     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11233     VARIANT onresize();
11234
11235     [id(DISPID_IHTMLELEMENT2_BLUR)]
11236     void blur();
11237
11238     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
11239     void addFilter([in] IUnknown *pUnk);
11240
11241     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
11242     void removeFilter([in] IUnknown *pUnk);
11243
11244     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
11245     long clientHeight();
11246
11247     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
11248     long clientWidth();
11249
11250     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
11251     long clientTop();
11252
11253     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
11254     long clientLeft();
11255
11256     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
11257     VARIANT_BOOL attachEvent(
11258             [in] BSTR event,
11259             [in] IDispatch *pDisp);
11260
11261     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
11262     void detachEvent(
11263             [in] BSTR event,
11264             [in] IDispatch *pDisp);
11265
11266     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
11267     VARIANT readyState();
11268
11269     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11270     void onreadystatechange(VARIANT v);
11271
11272     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11273     VARIANT onreadystatechange();
11274
11275     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11276     void onrowsdelete(VARIANT v);
11277
11278     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11279     VARIANT onrowsdelete();
11280
11281     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11282     void onrowsinserted(VARIANT v);
11283
11284     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11285      VARIANT onrowsinserted();
11286
11287     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11288      void oncellchange(VARIANT v);
11289
11290     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11291     VARIANT oncellchange();
11292
11293     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11294     void dir(BSTR v);
11295
11296     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11297     BSTR dir();
11298
11299     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
11300     IDispatch *createControlRange();
11301
11302     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
11303     long scrollHeight();
11304
11305     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
11306     long scrollWidth();
11307
11308     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11309     void scrollTop(long v);
11310
11311     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11312     long scrollTop();
11313
11314     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11315     void scrollLeft(long v);
11316
11317     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11318     long scrollLeft();
11319
11320     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
11321     void clearAttributes();
11322
11323     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11324     void oncontextmenu(VARIANT v);
11325
11326     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11327     VARIANT oncontextmenu();
11328
11329     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
11330     IHTMLElement *insertAdjacentElement(
11331             [in] BSTR where,
11332             [in] IHTMLElement *insertedElement);
11333
11334     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
11335     IHTMLElement *applyElement(
11336             [in] IHTMLElement *apply,
11337             [in] BSTR where);
11338
11339     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
11340     BSTR getAdjacentText([in] BSTR where);
11341
11342     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
11343     BSTR replaceAdjacentText(
11344             [in] BSTR where,
11345             [in] BSTR newText);
11346
11347     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
11348     VARIANT_BOOL canHaveChildren();
11349
11350     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
11351     long addBehavior(
11352             [in] BSTR bstrUrl,
11353             [in, optional] VARIANT *pvarFactory);
11354
11355     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
11356     VARIANT_BOOL removeBehavior([in] long cookie);
11357
11358     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
11359     IHTMLStyle *runtimeStyle();
11360
11361     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
11362     IDispatch *behaviorUrns();
11363
11364     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
11365     void tagUrn(BSTR v);
11366
11367     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
11368     BSTR tagUrn();
11369
11370     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11371     void onbeforeeditfocus(VARIANT v);
11372
11373     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11374     VARIANT onbeforeeditfocus();
11375
11376     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
11377     long readyStateValue();
11378
11379     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
11380     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
11381
11382     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
11383     void mergeAttributes(
11384             [in] IHTMLElement *mergeThis,
11385             [in, optional] VARIANT *pvarFlags);
11386
11387     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
11388     VARIANT_BOOL isMultiLine();
11389
11390     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
11391     VARIANT_BOOL canHaveHTML();
11392
11393     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11394     void onlayoutcomplete(VARIANT v);
11395
11396     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11397     VARIANT onlayoutcomplete();
11398
11399     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11400     void onpage(VARIANT v);
11401
11402     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11403     VARIANT onpage();
11404
11405     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11406     void inflateBlock(VARIANT_BOOL v);
11407
11408     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11409     VARIANT_BOOL inflateBlock();
11410
11411     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11412     void onbeforedeactivate(VARIANT v);
11413
11414     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11415     VARIANT onbeforedeactivate();
11416
11417     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
11418     void setActive();
11419
11420     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11421     void contentEditable(BSTR v);
11422
11423     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11424     BSTR contentEditable();
11425
11426     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
11427     VARIANT_BOOL isContentEditable();
11428
11429     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11430     void hideFocus(VARIANT_BOOL v);
11431
11432     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11433     VARIANT_BOOL hideFocus();
11434
11435     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11436     void disabled(VARIANT_BOOL v);
11437
11438     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11439     VARIANT_BOOL disabled();
11440
11441     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
11442     VARIANT_BOOL isDisabled();
11443
11444     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11445     void onmove(VARIANT v);
11446
11447     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11448     VARIANT onmove();
11449
11450     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11451     void oncontrolselect(VARIANT v);
11452
11453     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11454     VARIANT oncontrolselect();
11455
11456     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
11457     VARIANT_BOOL fireEvent(
11458             [in] BSTR bstrEventName,
11459             [in, optional] VARIANT *pvarEventObject);
11460
11461     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11462     void onresizestart(VARIANT v);
11463
11464     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11465     VARIANT onresizestart();
11466
11467     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11468     void onresizeend(VARIANT v);
11469
11470     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11471     VARIANT onresizeend();
11472
11473     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11474     void onmovestart(VARIANT v);
11475
11476     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11477     VARIANT onmovestart();
11478
11479     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11480     void onmoveend(VARIANT v);
11481
11482     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11483     VARIANT onmoveend();
11484
11485     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11486     void onmouseenter(VARIANT v);
11487
11488     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11489     VARIANT onmouseenter();
11490
11491     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11492     void onmouseleave(VARIANT v);
11493
11494     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11495     VARIANT onmouseleave();
11496
11497     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11498     void onactivate(VARIANT v);
11499
11500     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11501     VARIANT onactivate();
11502
11503     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11504     void ondeactivate(VARIANT v);
11505
11506     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11507     VARIANT ondeactivate();
11508
11509     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
11510     VARIANT_BOOL dragDrop();
11511
11512     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
11513     LONG glyphMode();
11514
11515     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11516     void onmousewheel(VARIANT v);
11517
11518     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11519     VARIANT onmousewheel();
11520
11521     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
11522     void normalize();
11523
11524     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
11525     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
11526
11527     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
11528     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
11529
11530     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
11531     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
11532
11533     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11534     void onbeforeactivate(VARIANT v);
11535
11536     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11537     VARIANT onbeforeactivate();
11538
11539     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11540     void onfocusin(VARIANT v);
11541
11542     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11543     VARIANT onfocusin();
11544
11545     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11546     void onfocusout(VARIANT v);
11547
11548     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11549     VARIANT onfocusout();
11550
11551     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
11552     long uniqueNumber();
11553
11554     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
11555     BSTR uniqueID();
11556
11557     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
11558     long nodeType();
11559
11560     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
11561     IHTMLDOMNode *parentNode();
11562
11563     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
11564     VARIANT_BOOL hasChildNodes();
11565
11566     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
11567     IDispatch *childNodes();
11568
11569     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
11570     IDispatch *attributes();
11571
11572     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
11573     IHTMLDOMNode *insertBefore(
11574             [in] IHTMLDOMNode *newChild,
11575             [in, optional] VARIANT refChild);
11576
11577     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
11578     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
11579
11580     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
11581     IHTMLDOMNode *replaceChild(
11582             [in] IHTMLDOMNode *newChild,
11583             [in] IHTMLDOMNode *oldChild);
11584
11585     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
11586     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
11587
11588     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
11589     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
11590
11591     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
11592     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
11593
11594     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
11595     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
11596
11597     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
11598     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
11599
11600     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
11601     BSTR nodeName();
11602
11603     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11604     void nodeValue(VARIANT v);
11605
11606     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11607     VARIANT nodeValue();
11608
11609     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
11610     IHTMLDOMNode *firstChild();
11611
11612     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
11613     IHTMLDOMNode *lastChild();
11614
11615     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
11616     IHTMLDOMNode *previousSibling();
11617
11618     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
11619     IHTMLDOMNode *nextSibling();
11620
11621     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
11622     IDispatch *ownerDocument();
11623
11624     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11625     void dataFld(BSTR v);
11626
11627     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11628     BSTR dataFld();
11629
11630     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
11631     void dataSrc(BSTR v);
11632
11633     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
11634     BSTR dataSrc();
11635
11636     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11637     void dataFormatAs(BSTR v);
11638
11639     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11640     BSTR dataFormatAs();
11641
11642     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11643     void type(BSTR v);
11644
11645     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11646     BSTR type();
11647
11648     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11649     void value(BSTR v);
11650
11651     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11652     BSTR value();
11653
11654     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11655     void name(BSTR v);
11656
11657     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11658     BSTR name();
11659
11660     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11661     void status(VARIANT_BOOL v);
11662
11663     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11664     VARIANT_BOOL status();
11665
11666     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
11667     IHTMLFormElement *form();
11668
11669     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11670     void size(long v);
11671
11672     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11673     long size();
11674
11675     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11676     void maxLength(long v);
11677
11678     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11679     long maxLength();
11680
11681     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
11682     void select();
11683
11684     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11685     void onchange(VARIANT v);
11686
11687     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11688     VARIANT onchange();
11689
11690     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11691     void onselect(VARIANT v);
11692
11693     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11694     VARIANT onselect();
11695
11696     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11697     void defaultValue(BSTR v);
11698
11699     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11700     BSTR defaultValue();
11701
11702     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11703     void readOnly(VARIANT_BOOL v);
11704
11705     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11706     VARIANT_BOOL readOnly();
11707
11708     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
11709     IHTMLTxtRange *createTextRange();
11710
11711     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11712     void indeterminate(VARIANT_BOOL v);
11713
11714     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11715     VARIANT_BOOL indeterminate();
11716
11717     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11718     void defaultChecked(VARIANT_BOOL v);
11719
11720     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11721     VARIANT_BOOL defaultChecked();
11722
11723     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11724     void checked(VARIANT_BOOL v);
11725
11726     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11727     VARIANT_BOOL checked();
11728
11729     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11730     void border(VARIANT v);
11731
11732     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11733     VARIANT border();
11734
11735     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11736     void vspace(long v);
11737
11738     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11739     long vspace();
11740
11741     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11742     void hspace(long v);
11743
11744     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11745     long hspace();
11746
11747     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11748     void alt(BSTR v);
11749
11750     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11751     BSTR alt();
11752
11753     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11754     void src(BSTR v);
11755
11756     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11757     BSTR src();
11758
11759     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11760     void lowsrc(BSTR v);
11761
11762     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11763     BSTR lowsrc();
11764
11765     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11766     void vrml(BSTR v);
11767
11768     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11769     BSTR vrml();
11770
11771     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11772     void dynsrc(BSTR v);
11773
11774     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11775     BSTR dynsrc();
11776
11777     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
11778     VARIANT_BOOL complete();
11779
11780     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11781     void loop(VARIANT v);
11782
11783     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11784     VARIANT loop();
11785
11786     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11787     void align(BSTR v);
11788
11789     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11790     BSTR align();
11791
11792     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11793     void onload(VARIANT v);
11794
11795     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11796     VARIANT onload();
11797
11798     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11799     void onerror(VARIANT v);
11800
11801     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11802     VARIANT onerror();
11803
11804     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11805     void onabort(VARIANT v);
11806
11807     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11808     VARIANT onabort();
11809
11810     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11811     void width(long v);
11812
11813     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11814     long width();
11815
11816     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11817     void height(long v);
11818
11819     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11820     long height();
11821
11822     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11823     void start(BSTR v);
11824
11825     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11826     BSTR start();
11827
11828     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11829     void accept(BSTR v);
11830
11831     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11832     BSTR accept();
11833
11834     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11835     void useMap(BSTR v);
11836
11837     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11838     BSTR useMap();
11839 }
11840
11841 /*****************************************************************************
11842  *    IHTMLTextAreaElement interface
11843  */
11844 [
11845     odl,
11846     oleautomation,
11847     dual,
11848     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
11849 ]
11850 interface IHTMLTextAreaElement : IDispatch
11851 {
11852     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
11853     HRESULT type([retval, out] BSTR *p);
11854
11855     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11856     HRESULT value([in] BSTR v);
11857
11858     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11859     HRESULT value([retval, out] BSTR *p);
11860
11861     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11862     HRESULT name([in] BSTR v);
11863
11864     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11865     HRESULT name([retval, out] BSTR *p);
11866
11867     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11868     HRESULT status([in] VARIANT v);
11869
11870     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11871     HRESULT status([retval, out] VARIANT *p);
11872
11873     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11874     HRESULT disabled([in] VARIANT_BOOL v);
11875
11876     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11877     HRESULT disabled([retval, out] VARIANT_BOOL *p);
11878
11879     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
11880     HRESULT form([retval, out] IHTMLFormElement **p);
11881
11882     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11883     HRESULT defaultValue([in] BSTR v);
11884
11885     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11886     HRESULT defaultValue([retval, out] BSTR *p);
11887
11888     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
11889     HRESULT select();
11890
11891     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11892     HRESULT onchange([in] VARIANT v);
11893
11894     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11895     HRESULT onchange([retval, out] VARIANT *p);
11896
11897     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11898     HRESULT onselect([in] VARIANT v);
11899
11900     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11901     HRESULT onselect([retval, out] VARIANT *p);
11902
11903     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11904     HRESULT readOnly([in] VARIANT_BOOL v);
11905
11906     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11907     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
11908
11909     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11910     HRESULT rows([in] long v);
11911
11912     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11913     HRESULT rows([retval, out] long *p);
11914
11915     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11916     HRESULT cols([in] long v);
11917
11918     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11919     HRESULT cols([retval, out] long *p);
11920
11921     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11922     HRESULT wrap([in] BSTR v);
11923
11924     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11925     HRESULT wrap([retval, out] BSTR *p);
11926
11927     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
11928     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
11929 }
11930
11931 /*****************************************************************************
11932  *    DispHTMLUnknownElement interface
11933  */
11934 [
11935     hidden,
11936     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
11937 ]
11938 dispinterface DispHTMLUnknownElement
11939 {
11940 properties:
11941 methods:
11942     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
11943     void setAttribute(
11944             [in] BSTR strAttributeName,
11945             [in] VARIANT AttributeValue,
11946             [in, defaultvalue(1)] LONG lFlags);
11947
11948     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
11949     VARIANT getAttribute(
11950              [in] BSTR strAttributeName,
11951              [in, defaultvalue(0)] LONG lFlags);
11952
11953     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
11954     VARIANT_BOOL removeAttribute(
11955             [in] BSTR strAttributeName,
11956             [in, defaultvalue(1)] LONG lFlags);
11957
11958     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11959     void className(BSTR v);
11960
11961     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11962     BSTR className();
11963
11964     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
11965     void id(BSTR v);
11966
11967     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
11968     BSTR id();
11969
11970     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
11971     BSTR tagName();
11972
11973     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
11974     IHTMLElement *parentElement();
11975
11976     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
11977     IHTMLStyle *style();
11978
11979     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
11980     void onhelp(VARIANT v);
11981
11982     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
11983     VARIANT onhelp();
11984
11985     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
11986     void onclick(VARIANT v);
11987
11988     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
11989     VARIANT onclick();
11990
11991     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
11992     void ondblclick(VARIANT v);
11993
11994     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
11995     VARIANT ondblclick();
11996
11997     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
11998     void onkeydown(VARIANT v);
11999
12000     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
12001     VARIANT onkeydown();
12002
12003     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
12004     void onkeyup(VARIANT v);
12005
12006     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
12007     VARIANT onkeyup();
12008
12009     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
12010     void onkeypress(VARIANT v);
12011
12012     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
12013     VARIANT onkeypress();
12014
12015     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
12016     void onmouseout(VARIANT v);
12017
12018     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
12019     VARIANT onmouseout();
12020
12021     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
12022     void onmouseover(VARIANT v);
12023
12024     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
12025     VARIANT onmouseover();
12026
12027     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
12028     void onmousemove(VARIANT v);
12029
12030     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
12031     VARIANT onmousemove();
12032
12033     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
12034     void onmousedown(VARIANT v);
12035
12036     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
12037     VARIANT onmousedown();
12038
12039     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
12040     void onmouseup(VARIANT v);
12041
12042     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
12043     VARIANT onmouseup();
12044
12045     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
12046     IDispatch *document();
12047
12048     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
12049     void title(BSTR v);
12050
12051     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
12052     BSTR title();
12053
12054     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
12055     void language(BSTR v);
12056
12057     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
12058     BSTR language();
12059
12060     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
12061     void onselectstart(VARIANT v);
12062
12063     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
12064     VARIANT onselectstart();
12065
12066     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
12067     void scrollIntoView([in, optional] VARIANT varargStart);
12068
12069     [id(DISPID_IHTMLELEMENT_CONTAINS)]
12070     VARIANT_BOOL contains([in] IHTMLElement *pChild);
12071
12072     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
12073     long sourceIndex();
12074
12075     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
12076     VARIANT recordNumber();
12077
12078     [propput, id(DISPID_IHTMLELEMENT_LANG)]
12079     void lang(BSTR v);
12080
12081     [propget, id(DISPID_IHTMLELEMENT_LANG)]
12082     BSTR lang();
12083
12084     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
12085     long offsetLeft();
12086
12087     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
12088     long offsetTop();
12089
12090     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
12091     long offsetWidth();
12092
12093     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
12094     long offsetHeight();
12095
12096     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
12097     IHTMLElement *offsetParent();
12098
12099     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
12100     void innerHTML(BSTR v);
12101
12102     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
12103     BSTR innerHTML();
12104
12105     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
12106     void innerText(BSTR v);
12107
12108     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
12109     BSTR innerText();
12110
12111     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
12112     void outerHTML(BSTR v);
12113
12114     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
12115     BSTR outerHTML();
12116
12117     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
12118     void outerText(BSTR v);
12119
12120     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
12121     BSTR outerText();
12122
12123     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
12124     void insertAdjacentHTML(
12125             [in] BSTR where,
12126             [in] BSTR html);
12127
12128     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
12129     void insertAdjacentText(
12130             [in] BSTR where,
12131             [in] BSTR text);
12132
12133     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
12134     IHTMLElement *parentTextEdit();
12135
12136     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
12137     VARIANT_BOOL isTextEdit();
12138
12139     [id(DISPID_IHTMLELEMENT_CLICK)]
12140     void click();
12141
12142     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
12143     IHTMLFiltersCollection *filters();
12144
12145     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
12146     void ondragstart(VARIANT v);
12147
12148     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
12149     VARIANT ondragstart();
12150
12151     [id(DISPID_IHTMLELEMENT_TOSTRING)]
12152     BSTR toString();
12153
12154     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
12155     void onbeforeupdate(VARIANT v);
12156
12157     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
12158     VARIANT onbeforeupdate();
12159
12160     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
12161     void onafterupdate(VARIANT v);
12162
12163     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
12164     VARIANT onafterupdate();
12165
12166     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
12167     void onerrorupdate(VARIANT v);
12168
12169     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
12170     VARIANT onerrorupdate();
12171
12172     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
12173     void onrowexit(VARIANT v);
12174
12175     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
12176     VARIANT onrowexit();
12177
12178     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
12179     void onrowenter(VARIANT v);
12180
12181     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
12182     VARIANT onrowenter();
12183
12184     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
12185     void ondatasetchanged(VARIANT v);
12186
12187     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
12188     VARIANT ondatasetchanged();
12189
12190     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
12191     void ondataavailable(VARIANT v);
12192
12193     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
12194     VARIANT ondataavailable();
12195
12196     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
12197     void ondatasetcomplete(VARIANT v);
12198
12199     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
12200     VARIANT ondatasetcomplete();
12201
12202     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12203     void onfilterchange(VARIANT v);
12204
12205     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12206     VARIANT onfilterchange();
12207
12208     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
12209     IDispatch *children();
12210
12211     [propget, id(DISPID_IHTMLELEMENT_ALL)]
12212     IDispatch *all();
12213
12214     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
12215     BSTR scopeName();
12216
12217     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
12218     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
12219
12220     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
12221     void releaseCapture();
12222
12223     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12224     void onlosecapture(VARIANT v);
12225
12226     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12227     VARIANT onlosecapture();
12228
12229     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
12230     BSTR componentFromPoint(
12231             [in] long x,
12232             [in] long y);
12233
12234     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
12235     void doScroll([in, optional] VARIANT component);
12236
12237     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12238     void onscroll(VARIANT v);
12239
12240     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12241     VARIANT onscroll();
12242
12243     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12244     void ondrag(VARIANT v);
12245
12246     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12247     VARIANT ondrag();
12248
12249     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12250     void ondragend(VARIANT v);
12251
12252     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12253     VARIANT ondragend();
12254
12255     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12256     void ondragenter(VARIANT v);
12257
12258     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12259     VARIANT ondragenter();
12260
12261     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12262     void ondragover(VARIANT v);
12263
12264     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12265     VARIANT ondragover();
12266
12267     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12268     void ondragleave(VARIANT v);
12269
12270     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12271     VARIANT ondragleave();
12272
12273     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12274     void ondrop(VARIANT v);
12275
12276     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12277     VARIANT ondrop();
12278
12279     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12280     void onbeforecut(VARIANT v);
12281
12282     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12283     VARIANT onbeforecut();
12284
12285     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12286     void oncut(VARIANT v);
12287
12288     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12289     VARIANT oncut();
12290
12291     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12292     void onbeforecopy(VARIANT v);
12293
12294     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12295     VARIANT onbeforecopy();
12296
12297     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12298     void oncopy(VARIANT v);
12299
12300     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12301     VARIANT oncopy();
12302
12303     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12304     void onbeforepaste(VARIANT v);
12305
12306     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12307     VARIANT onbeforepaste();
12308
12309     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12310     void onpaste(VARIANT v);
12311
12312     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12313     VARIANT onpaste();
12314
12315     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
12316     IHTMLCurrentStyle *currentStyle();
12317
12318     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12319     void onpropertychange(VARIANT v);
12320
12321     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12322     VARIANT onpropertychange();
12323
12324     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
12325     IHTMLRectCollection *getClientRects();
12326
12327     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
12328     IHTMLRect *getBoundingClientRect();
12329
12330     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
12331     void setExpression(
12332             [in] BSTR propname,
12333             [in] BSTR expression,
12334             [in, defaultvalue("")] BSTR language);
12335
12336     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
12337     VARIANT getExpression([in] BSTR propname);
12338
12339     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
12340     VARIANT_BOOL removeExpression([in] BSTR propname);
12341
12342     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12343     void tabIndex(short v);
12344
12345     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12346     short tabIndex();
12347
12348     [id(DISPID_IHTMLELEMENT2_FOCUS)]
12349     void focus();
12350
12351     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12352     void accessKey(BSTR v);
12353
12354     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12355     BSTR accessKey();
12356
12357     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12358     void onblur(VARIANT v);
12359
12360     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12361     VARIANT onblur();
12362
12363     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12364     void onfocus(VARIANT v);
12365
12366     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12367     VARIANT onfocus();
12368
12369     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12370     void onresize(VARIANT v);
12371
12372     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12373     VARIANT onresize();
12374
12375     [id(DISPID_IHTMLELEMENT2_BLUR)]
12376     void blur();
12377
12378     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
12379     void addFilter([in] IUnknown *pUnk);
12380
12381     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
12382     void removeFilter([in] IUnknown *pUnk);
12383
12384     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
12385     long clientHeight();
12386
12387     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
12388     long clientWidth();
12389
12390     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
12391     long clientTop();
12392
12393     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
12394     long clientLeft();
12395
12396     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
12397     VARIANT_BOOL attachEvent(
12398             [in] BSTR event,
12399             [in] IDispatch *pDisp);
12400
12401     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
12402     void detachEvent(
12403             [in] BSTR event,
12404             [in] IDispatch *pDisp);
12405
12406     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
12407     VARIANT readyState();
12408
12409     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12410     void onreadystatechange(VARIANT v);
12411
12412     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12413     VARIANT onreadystatechange();
12414
12415     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12416     void onrowsdelete(VARIANT v);
12417
12418     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12419     VARIANT onrowsdelete();
12420
12421     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12422     void onrowsinserted(VARIANT v);
12423
12424     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12425      VARIANT onrowsinserted();
12426
12427     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12428      void oncellchange(VARIANT v);
12429
12430     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12431     VARIANT oncellchange();
12432
12433     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12434     void dir(BSTR v);
12435
12436     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12437     BSTR dir();
12438
12439     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
12440     IDispatch *createControlRange();
12441
12442     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
12443     long scrollHeight();
12444
12445     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
12446     long scrollWidth();
12447
12448     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12449     void scrollTop(long v);
12450
12451     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12452     long scrollTop();
12453
12454     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
12455     void scrollLeft(long v);
12456
12457     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
12458     long scrollLeft();
12459
12460     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
12461     void clearAttributes();
12462
12463     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
12464     void oncontextmenu(VARIANT v);
12465
12466     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
12467     VARIANT oncontextmenu();
12468
12469     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
12470     IHTMLElement *insertAdjacentElement(
12471             [in] BSTR where,
12472             [in] IHTMLElement *insertedElement);
12473
12474     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
12475     IHTMLElement *applyElement(
12476             [in] IHTMLElement *apply,
12477             [in] BSTR where);
12478
12479     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
12480     BSTR getAdjacentText([in] BSTR where);
12481
12482     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
12483     BSTR replaceAdjacentText(
12484             [in] BSTR where,
12485             [in] BSTR newText);
12486
12487     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
12488     VARIANT_BOOL canHaveChildren();
12489
12490     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
12491     long addBehavior(
12492             [in] BSTR bstrUrl,
12493             [in, optional] VARIANT *pvarFactory);
12494
12495     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
12496     VARIANT_BOOL removeBehavior([in] long cookie);
12497
12498     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
12499     IHTMLStyle *runtimeStyle();
12500
12501     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
12502     IDispatch *behaviorUrns();
12503
12504     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
12505     void tagUrn(BSTR v);
12506
12507     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
12508     BSTR tagUrn();
12509
12510     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12511     void onbeforeeditfocus(VARIANT v);
12512
12513     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12514     VARIANT onbeforeeditfocus();
12515
12516     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
12517     long readyStateValue();
12518
12519     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
12520     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12521
12522     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
12523     void mergeAttributes(
12524             [in] IHTMLElement *mergeThis,
12525             [in, optional] VARIANT *pvarFlags);
12526
12527     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
12528     VARIANT_BOOL isMultiLine();
12529
12530     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
12531     VARIANT_BOOL canHaveHTML();
12532
12533     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12534     void onlayoutcomplete(VARIANT v);
12535
12536     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12537     VARIANT onlayoutcomplete();
12538
12539     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12540     void onpage(VARIANT v);
12541
12542     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12543     VARIANT onpage();
12544
12545     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12546     void inflateBlock(VARIANT_BOOL v);
12547
12548     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12549     VARIANT_BOOL inflateBlock();
12550
12551     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12552     void onbeforedeactivate(VARIANT v);
12553
12554     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12555     VARIANT onbeforedeactivate();
12556
12557     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
12558     void setActive();
12559
12560     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12561     void contentEditable(BSTR v);
12562
12563     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12564     BSTR contentEditable();
12565
12566     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
12567     VARIANT_BOOL isContentEditable();
12568
12569     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12570     void hideFocus(VARIANT_BOOL v);
12571
12572     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12573     VARIANT_BOOL hideFocus();
12574
12575     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12576     void disabled(VARIANT_BOOL v);
12577
12578     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12579     VARIANT_BOOL disabled();
12580
12581     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
12582     VARIANT_BOOL isDisabled();
12583
12584     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12585     void onmove(VARIANT v);
12586
12587     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12588     VARIANT onmove();
12589
12590     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12591     void oncontrolselect(VARIANT v);
12592
12593     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12594     VARIANT oncontrolselect();
12595
12596     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
12597     VARIANT_BOOL fireEvent(
12598             [in] BSTR bstrEventName,
12599             [in, optional] VARIANT *pvarEventObject);
12600
12601     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12602     void onresizestart(VARIANT v);
12603
12604     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12605     VARIANT onresizestart();
12606
12607     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12608     void onresizeend(VARIANT v);
12609
12610     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12611     VARIANT onresizeend();
12612
12613     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12614     void onmovestart(VARIANT v);
12615
12616     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12617     VARIANT onmovestart();
12618
12619     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12620     void onmoveend(VARIANT v);
12621
12622     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12623     VARIANT onmoveend();
12624
12625     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12626     void onmouseenter(VARIANT v);
12627
12628     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12629     VARIANT onmouseenter();
12630
12631     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12632     void onmouseleave(VARIANT v);
12633
12634     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12635     VARIANT onmouseleave();
12636
12637     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12638     void onactivate(VARIANT v);
12639
12640     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12641     VARIANT onactivate();
12642
12643     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12644     void ondeactivate(VARIANT v);
12645
12646     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12647     VARIANT ondeactivate();
12648
12649     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
12650     VARIANT_BOOL dragDrop();
12651
12652     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
12653     LONG glyphMode();
12654
12655     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12656     void onmousewheel(VARIANT v);
12657
12658     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12659     VARIANT onmousewheel();
12660
12661     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
12662     void normalize();
12663
12664     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
12665     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
12666
12667     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
12668     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
12669
12670     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
12671     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
12672
12673     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12674     void onbeforeactivate(VARIANT v);
12675
12676     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12677     VARIANT onbeforeactivate();
12678
12679     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12680     void onfocusin(VARIANT v);
12681
12682     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12683     VARIANT onfocusin();
12684
12685     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12686     void onfocusout(VARIANT v);
12687
12688     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12689     VARIANT onfocusout();
12690
12691     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
12692     long uniqueNumber();
12693
12694     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
12695     BSTR uniqueID();
12696
12697     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
12698     long nodeType();
12699
12700     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
12701     IHTMLDOMNode *parentNode();
12702
12703     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
12704     VARIANT_BOOL hasChildNodes();
12705
12706     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
12707     IDispatch *childNodes();
12708
12709     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
12710     IDispatch *attributes();
12711
12712     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
12713     IHTMLDOMNode *insertBefore(
12714             [in] IHTMLDOMNode *newChild,
12715             [in, optional] VARIANT refChild);
12716
12717     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
12718     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
12719
12720     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
12721     IHTMLDOMNode *replaceChild(
12722             [in] IHTMLDOMNode *newChild,
12723             [in] IHTMLDOMNode *oldChild);
12724
12725     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
12726     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
12727
12728     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
12729     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
12730
12731     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
12732     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
12733
12734     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
12735     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
12736
12737     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
12738     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
12739
12740     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
12741     BSTR nodeName();
12742
12743     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12744     void nodeValue(VARIANT v);
12745
12746     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12747     VARIANT nodeValue();
12748
12749     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
12750     IHTMLDOMNode *firstChild();
12751
12752     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
12753     IHTMLDOMNode *lastChild();
12754
12755     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
12756     IHTMLDOMNode *previousSibling();
12757
12758     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
12759     IHTMLDOMNode *nextSibling();
12760
12761     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
12762     IDispatch *ownerDocument();
12763 }
12764
12765 /*****************************************************************************
12766  *    IOmHistory interface
12767  */
12768 [
12769     odl,
12770     oleautomation,
12771     dual,
12772     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
12773 ]
12774 interface IOmHistory : IDispatch
12775 {
12776     [propget, id(DISPID_IOMHISTORY_LENGTH)]
12777     HRESULT length([retval, out] short *p);
12778
12779     [id(DISPID_IOMHISTORY_BACK)]
12780     HRESULT back([optional, in] VARIANT *pvargdistance);
12781
12782     [id(DISPID_IOMHISTORY_FORWARD)]
12783     HRESULT forward([optional, in] VARIANT *pvargdistance);
12784
12785     [id(DISPID_IOMHISTORY_GO)]
12786     HRESULT go([optional, in] VARIANT *pvargdistance);
12787 }
12788
12789 [
12790     noncreatable,
12791     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
12792 ]
12793 coclass HTMLHistory
12794 {
12795     [default]           interface IOmHistory;
12796 }
12797
12798 /*****************************************************************************
12799  *    IHTMLMimeTypesCollection interface
12800  */
12801 [
12802     odl,
12803     oleautomation,
12804     dual,
12805     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
12806 ]
12807 interface IHTMLMimeTypesCollection : IDispatch
12808 {
12809     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
12810     HRESULT length([retval, out] long *p);
12811 }
12812
12813 [
12814     noncreatable,
12815     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
12816 ]
12817 coclass CMimeTypes
12818 {
12819     [default]           interface IHTMLMimeTypesCollection;
12820 }
12821
12822 /*****************************************************************************
12823  *    IHTMLPluginsCollection interface
12824  */
12825 [
12826     odl,
12827     oleautomation,
12828     dual,
12829     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
12830 ]
12831 interface IHTMLPluginsCollection : IDispatch
12832 {
12833     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
12834     HRESULT length([retval, out] long *p);
12835
12836     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
12837     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
12838 }
12839
12840 [
12841     noncreatable,
12842     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
12843 ]
12844 coclass CPlugins
12845 {
12846     [default]           interface IHTMLPluginsCollection;
12847 }
12848
12849 /*****************************************************************************
12850  *    IHTMLOpsProfile interface
12851  */
12852 [
12853     odl,
12854     oleautomation,
12855     dual,
12856     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
12857 ]
12858 interface IHTMLOpsProfile : IDispatch
12859 {
12860     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
12861     HRESULT addRequest(
12862         [in] BSTR name,
12863         [optional, in] VARIANT reserved,
12864         [retval, out] VARIANT_BOOL *success);
12865
12866     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
12867     HRESULT clearRequest();
12868
12869     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
12870     HRESULT doRequest(
12871         [in] VARIANT usage,
12872         [optional, in] VARIANT fname,
12873         [optional, in] VARIANT domain,
12874         [optional, in] VARIANT path,
12875         [optional, in] VARIANT expire,
12876         [optional, in] VARIANT reserved);
12877
12878     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
12879     HRESULT getAttribute(
12880         [in] BSTR name,
12881         [retval, out] BSTR *value);
12882
12883     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
12884     HRESULT setAttribute(
12885         [in] BSTR name,
12886         [in] BSTR value,
12887         [optional, in] VARIANT prefs,
12888         [retval, out] VARIANT_BOOL *success);
12889
12890     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
12891     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
12892
12893     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
12894     HRESULT addReadRequest(
12895         [in] BSTR name,
12896         [optional, in] VARIANT reserved,
12897         [retval, out] VARIANT_BOOL *success);
12898
12899     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
12900     HRESULT doReadRequest(
12901         [in] VARIANT usage,
12902         [optional, in] VARIANT fname,
12903         [optional, in] VARIANT domain,
12904         [optional, in] VARIANT path,
12905         [optional, in] VARIANT expire,
12906         [optional, in] VARIANT reserved);
12907
12908     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
12909     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
12910 }
12911
12912 [
12913     noncreatable,
12914     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
12915 ]
12916 coclass COpsProfile
12917 {
12918     [default]           interface IHTMLOpsProfile;
12919 }
12920
12921 /*****************************************************************************
12922  *    IOmNavigator interface
12923  */
12924 [
12925         odl,
12926         oleautomation,
12927         dual,
12928         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
12929 ]
12930 interface IOmNavigator : IDispatch
12931 {
12932     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
12933     HRESULT appCodeName([retval, out] BSTR *p);
12934
12935     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
12936     HRESULT appName([retval, out] BSTR *p);
12937
12938     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
12939     HRESULT appVersion([retval, out] BSTR *p);
12940
12941     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
12942     HRESULT userAgent([retval, out] BSTR *p);
12943
12944     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
12945     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
12946
12947     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
12948     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
12949
12950     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
12951     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
12952
12953     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
12954     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
12955
12956     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
12957     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
12958
12959     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
12960     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
12961
12962     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
12963     HRESULT toString([retval, out] BSTR *String);
12964
12965     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
12966     HRESULT cpuClass([retval, out] BSTR *p);
12967
12968     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
12969     HRESULT systemLanguage([retval, out] BSTR *p);
12970
12971     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
12972     HRESULT browserLanguage([retval, out] BSTR *p);
12973
12974     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
12975     HRESULT userLanguage([retval, out] BSTR *p);
12976
12977     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
12978     HRESULT platform([retval, out] BSTR *p);
12979
12980     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
12981     HRESULT appMinorVersion([retval, out] BSTR *p);
12982
12983     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
12984     HRESULT connectionSpeed([retval, out] long *p);
12985
12986     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
12987     HRESULT onLine([retval, out] VARIANT_BOOL *p);
12988
12989     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
12990     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
12991 }
12992
12993 [
12994     noncreatable,
12995     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
12996 ]
12997 coclass HTMLNavigator
12998 {
12999     [default]           interface IOmNavigator;
13000 }
13001
13002 /*****************************************************************************
13003  *    IHTMLLocation interface
13004  */
13005 [
13006     odl,
13007     oleautomation,
13008     dual,
13009     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
13010 ]
13011 interface IHTMLLocation : IDispatch
13012 {
13013     [propput, id(DISPID_IHTMLLOCATION_HREF)]
13014     HRESULT href([in] BSTR v);
13015
13016     [propget, id(DISPID_IHTMLLOCATION_HREF)]
13017     HRESULT href([retval, out] BSTR *p);
13018
13019     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
13020     HRESULT protocol([in] BSTR v);
13021
13022     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
13023     HRESULT protocol([retval, out] BSTR *p);
13024
13025     [propput, id(DISPID_IHTMLLOCATION_HOST)]
13026     HRESULT host([in] BSTR v);
13027
13028     [propget, id(DISPID_IHTMLLOCATION_HOST)]
13029     HRESULT host([retval, out] BSTR *p);
13030
13031     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
13032     HRESULT hostname([in] BSTR v);
13033
13034     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
13035     HRESULT hostname([retval, out] BSTR *p);
13036
13037     [propput, id(DISPID_IHTMLLOCATION_PORT)]
13038     HRESULT port([in] BSTR v);
13039
13040     [propget, id(DISPID_IHTMLLOCATION_PORT)]
13041     HRESULT port([retval, out] BSTR *p);
13042
13043     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
13044     HRESULT pathname([in] BSTR v);
13045
13046     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
13047     HRESULT pathname([retval, out] BSTR *p);
13048
13049     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
13050     HRESULT search([in] BSTR v);
13051
13052     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
13053     HRESULT search([retval, out] BSTR *p);
13054
13055     [propput, id(DISPID_IHTMLLOCATION_HASH)]
13056     HRESULT hash([in] BSTR v);
13057
13058     [propget, id(DISPID_IHTMLLOCATION_HASH)]
13059     HRESULT hash([retval, out] BSTR *p);
13060
13061     [id(DISPID_IHTMLLOCATION_RELOAD)]
13062     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
13063
13064     [id(DISPID_IHTMLLOCATION_REPLACE)]
13065     HRESULT replace([in] BSTR bstr);
13066
13067     [id(DISPID_IHTMLLOCATION_ASSIGN)]
13068     HRESULT assign([in] BSTR bstr);
13069
13070     [id(DISPID_IHTMLLOCATION_TOSTRING)]
13071     HRESULT toString([retval, out] BSTR *String);
13072 }
13073
13074 [
13075     noncreatable,
13076     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
13077 ]
13078 coclass HTMLLocation
13079 {
13080     [default]           interface IHTMLLocation;
13081 }
13082
13083 [
13084     odl,
13085     oleautomation,
13086     dual,
13087     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
13088 ]
13089 interface IHTMLBookmarkCollection : IDispatch
13090 {
13091     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
13092     HRESULT length([out, retval] long *p);
13093
13094     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
13095     HRESULT _newEnum([out, retval] IUnknown **p);
13096
13097     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
13098     HRESULT item(
13099             [in] long index,
13100             [out, retval] VARIANT *pVarBookmark);
13101 }
13102
13103 /*****************************************************************************
13104  *    IHTMLDataTransfer interface
13105  */
13106 [
13107     odl,
13108     oleautomation,
13109     dual,
13110     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
13111 ]
13112 interface IHTMLDataTransfer : IDispatch
13113 {
13114     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
13115     HRESULT setData(
13116             [in] BSTR format,
13117             [in] VARIANT *data,
13118             [out, retval] VARIANT_BOOL *pret);
13119
13120     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
13121     HRESULT getData(
13122             [in] BSTR format,
13123             [out, retval] VARIANT *pvarRet);
13124
13125     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
13126     HRESULT clearData(
13127             [in] BSTR format,
13128             [out, retval] VARIANT_BOOL *pret);
13129
13130     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
13131     HRESULT dropEffect([in] BSTR v);
13132
13133     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
13134     HRESULT dropEffect([out, retval] BSTR *p);
13135
13136     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
13137     HRESULT effectAllowed([in] BSTR v);
13138
13139     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
13140     HRESULT effectAllowed([out, retval] BSTR *p);
13141 }
13142
13143 /*****************************************************************************
13144  *    IHTMLEventObj interface
13145  */
13146 [
13147     odl,
13148     oleautomation,
13149     dual,
13150     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
13151 ]
13152 interface IHTMLEventObj : IDispatch
13153 {
13154     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
13155     HRESULT srcElement([retval, out] IHTMLElement **p);
13156
13157     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
13158     HRESULT altKey([retval, out] VARIANT_BOOL *p);
13159
13160     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
13161     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
13162
13163     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
13164     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
13165
13166     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13167     HRESULT returnValue([in] VARIANT v);
13168
13169     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13170     HRESULT returnValue([retval, out] VARIANT *p);
13171
13172     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13173     HRESULT cancelBubble([in] VARIANT_BOOL v);
13174
13175     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13176     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
13177
13178     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
13179     HRESULT fromElement([retval, out] IHTMLElement **p);
13180
13181     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
13182     HRESULT toElement([retval, out] IHTMLElement **p);
13183
13184     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13185     HRESULT keyCode([in] long v);
13186
13187     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13188     HRESULT keyCode([retval, out] long *p);
13189
13190     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
13191     HRESULT button([retval, out] long *p);
13192
13193     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
13194     HRESULT type([retval, out] BSTR *p);
13195
13196     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
13197     HRESULT qualifier([retval, out] BSTR *p);
13198
13199     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
13200     HRESULT reason([retval, out] long *p);
13201
13202     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
13203     HRESULT x([retval, out] long *p);
13204
13205     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
13206     HRESULT y([retval, out] long *p);
13207
13208     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
13209     HRESULT clientX([retval, out] long *p);
13210
13211     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
13212     HRESULT clientY([retval, out] long *p);
13213
13214     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
13215     HRESULT offsetX([retval, out] long *p);
13216
13217     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
13218     HRESULT offsetY([retval, out] long *p);
13219
13220     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
13221     HRESULT screenX([retval, out] long *p);
13222
13223     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
13224     HRESULT screenY([retval, out] long *p);
13225
13226     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
13227     HRESULT srcFilter([retval, out] IDispatch **p);
13228 }
13229
13230 /*****************************************************************************
13231  *    DispCEventObj dispinterface
13232  */
13233 [
13234     hidden,
13235     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
13236 ]
13237 dispinterface DispCEventObj
13238 {
13239 properties:
13240 methods:
13241     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13242     void returnValue(VARIANT v);
13243
13244     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13245     VARIANT returnValue();
13246
13247     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13248     void cancelBubble(VARIANT_BOOL v);
13249
13250     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13251     VARIANT_BOOL cancelBubble();
13252
13253     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13254     void keyCode(long v);
13255
13256     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13257     long keyCode();
13258
13259     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
13260     void setAttribute(
13261             [in] BSTR strAttributeName,
13262             [in] VARIANT AttributeValue,
13263             [in, defaultvalue(1)] LONG lFlags);
13264
13265     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
13266     VARIANT getAttribute(
13267             [in] BSTR strAttributeName,
13268             [in, defaultvalue(0)] LONG lFlags);
13269
13270     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
13271     VARIANT_BOOL removeAttribute(
13272             [in] BSTR strAttributeName,
13273             [in, defaultvalue(1)] LONG lFlags);
13274
13275     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
13276     void propertyName(BSTR v);
13277
13278     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
13279     BSTR propertyName();
13280
13281     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
13282     void bookmarks(IHTMLBookmarkCollection *v);
13283
13284     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
13285     IHTMLBookmarkCollection *bookmarks();
13286
13287     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
13288     void recordset(IDispatch *v);
13289
13290     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
13291     IDispatch *recordset();
13292
13293     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
13294     void dataFld(BSTR v);
13295
13296     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
13297     BSTR dataFld();
13298
13299     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
13300     void boundElements(IHTMLElementCollection *v);
13301
13302     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
13303     IHTMLElementCollection *boundElements();
13304
13305     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
13306     void repeat(VARIANT_BOOL v);
13307
13308     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
13309     VARIANT_BOOL repeat();
13310
13311     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
13312     void srcUrn(BSTR v);
13313
13314     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
13315     BSTR srcUrn();
13316
13317     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
13318     void srcElement(IHTMLElement *v);
13319
13320     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
13321     IHTMLElement *srcElement();
13322
13323     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
13324     void altKey(VARIANT_BOOL v);
13325
13326     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
13327     VARIANT_BOOL altKey();
13328
13329     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
13330     void ctrlKey(VARIANT_BOOL v);
13331
13332     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
13333     VARIANT_BOOL ctrlKey();
13334
13335     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
13336     void shiftKey(VARIANT_BOOL v);
13337
13338     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
13339     VARIANT_BOOL shiftKey();
13340
13341     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
13342     void fromElement(IHTMLElement *v);
13343
13344     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
13345     IHTMLElement *fromElement();
13346
13347     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
13348     void toElement(IHTMLElement *v);
13349
13350     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
13351     IHTMLElement *toElement();
13352
13353     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
13354     void button(long v);
13355
13356     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
13357     long button();
13358
13359     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
13360     void type(BSTR v);
13361
13362     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
13363     BSTR type();
13364
13365     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
13366     void qualifier(BSTR v);
13367
13368     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
13369     BSTR qualifier();
13370
13371     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
13372     void reason(long v);
13373
13374     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
13375     long reason();
13376
13377     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
13378     void x(long v);
13379
13380     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
13381     long x();
13382
13383     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
13384     void y(long v);
13385
13386     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
13387     long y();
13388
13389     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
13390     void clientX(long v);
13391
13392     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
13393     long clientX();
13394
13395     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
13396     void clientY(long v);
13397
13398     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
13399     long clientY();
13400     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
13401     void offsetX(long v);
13402
13403     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
13404     long offsetX();
13405
13406     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
13407     void offsetY(long v);
13408
13409     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
13410     long offsetY();
13411
13412     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
13413     void screenX(long v);
13414
13415     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
13416     long screenX();
13417
13418     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
13419     void screenY(long v);
13420
13421     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
13422     long screenY();
13423
13424     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
13425     void srcFilter(IDispatch *v);
13426
13427     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
13428     IDispatch *srcFilter();
13429
13430     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
13431     IHTMLDataTransfer *dataTransfer();
13432
13433     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
13434     VARIANT_BOOL contentOverflow();
13435
13436     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
13437     void shiftLeft(VARIANT_BOOL v);
13438
13439     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
13440     VARIANT_BOOL shiftLeft();
13441
13442     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
13443     void altLeft(VARIANT_BOOL v);
13444
13445     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
13446     VARIANT_BOOL altLeft();
13447
13448     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
13449     void ctrlLeft(VARIANT_BOOL v);
13450
13451     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
13452     VARIANT_BOOL ctrlLeft();
13453
13454     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
13455     LONG_PTR imeCompositionChange();
13456
13457     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
13458     LONG_PTR imeNotifyCommand();
13459
13460     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
13461     LONG_PTR imeNotifyData();
13462
13463     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
13464     LONG_PTR imeRequest();
13465
13466     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
13467     LONG_PTR imeRequestData();
13468
13469     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
13470     LONG_PTR keyboardLayout();
13471
13472     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
13473     long behaviorCookie();
13474
13475     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
13476     long behaviorPart();
13477
13478     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
13479     BSTR nextPage();
13480
13481     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
13482     long wheelDelta();
13483 }
13484
13485 /*****************************************************************************
13486  *    IHTMLFramesCollection2 interface
13487  */
13488 [
13489     odl,
13490     oleautomation,
13491     dual,
13492     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
13493 ]
13494 interface IHTMLFramesCollection2 : IDispatch
13495 {
13496     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13497     HRESULT item(
13498         [in] VARIANT *pvarIndex,
13499         [retval, out] VARIANT *pvarResult);
13500
13501     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13502     HRESULT length([retval, out] long *p);
13503 }
13504
13505 /*****************************************************************************
13506  *    IHTMLScreen interface
13507  */
13508 [
13509     odl,
13510     oleautomation,
13511     dual,
13512     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
13513 ]
13514 interface IHTMLScreen : IDispatch
13515 {
13516     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
13517     HRESULT colorDepth([retval, out] long *p);
13518
13519     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
13520     HRESULT bufferDepth([in] long v);
13521
13522     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
13523     HRESULT bufferDepth([retval, out] long *p);
13524
13525     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
13526     HRESULT width([retval, out] long *p);
13527
13528     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
13529     HRESULT height([retval, out] long *p);
13530
13531     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13532     HRESULT updateInterval([in] long v);
13533
13534     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13535     HRESULT updateInterval([retval, out] long *p);
13536
13537     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
13538     HRESULT availHeight([retval, out] long *p);
13539
13540     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
13541     HRESULT availWidth([retval, out] long *p);
13542
13543     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
13544     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
13545 }
13546
13547 /*****************************************************************************
13548  *    IHTMLWindow2 interface
13549  */
13550 [
13551     odl,
13552     oleautomation,
13553     dual,
13554     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
13555 ]
13556 interface IHTMLWindow2 : IHTMLFramesCollection2
13557 {
13558     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13559     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
13560
13561     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13562     HRESULT defaultStatus([in] BSTR v);
13563
13564     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13565     HRESULT defaultStatus([retval, out] BSTR *p);
13566
13567     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13568     HRESULT status([in] BSTR v);
13569
13570     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13571     HRESULT status([retval, out] BSTR *p);
13572
13573     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
13574     HRESULT setTimeout(
13575         [in] BSTR expression,
13576         [in] long msec,
13577         [optional, in] VARIANT *language,
13578         [retval, out] long *timerID);
13579
13580     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13581     HRESULT clearTimeout([in] long timerID);
13582
13583     [id(DISPID_IHTMLWINDOW2_ALERT)]
13584     HRESULT alert([defaultvalue(""), in] BSTR message);
13585
13586     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13587     HRESULT confirm(
13588         [defaultvalue(""), in] BSTR message,
13589         [retval, out] VARIANT_BOOL *confirmed);
13590
13591     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13592     HRESULT prompt(
13593         [defaultvalue(""), in] BSTR message,
13594         [defaultvalue("undefined"), in] BSTR defstr,
13595         [retval, out] VARIANT *textdata);
13596
13597     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13598     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
13599
13600     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13601     HRESULT location([retval, out] IHTMLLocation **p);
13602
13603     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13604     HRESULT history([retval, out] IOmHistory **p);
13605
13606     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13607     HRESULT close();
13608
13609     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13610     HRESULT opener([in] VARIANT v);
13611
13612     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13613     HRESULT opener([retval, out] VARIANT *p);
13614
13615     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13616     HRESULT navigator([retval, out] IOmNavigator **p);
13617
13618     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13619     HRESULT name([in] BSTR v);
13620
13621     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13622     HRESULT name([retval, out] BSTR *p);
13623
13624     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13625     HRESULT parent([retval, out] IHTMLWindow2 **p);
13626
13627     [id(DISPID_IHTMLWINDOW2_OPEN)]
13628     HRESULT open(
13629         [defaultvalue(""), in] BSTR url,
13630         [defaultvalue(""), in] BSTR name,
13631         [defaultvalue(""), in] BSTR features,
13632         [defaultvalue(0), in] VARIANT_BOOL replace,
13633         [retval, out] IHTMLWindow2 **pomWindowResult);
13634
13635     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13636     HRESULT self([retval, out] IHTMLWindow2 **p);
13637
13638     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13639     HRESULT top([retval, out] IHTMLWindow2 **p);
13640
13641     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13642     HRESULT window([retval, out] IHTMLWindow2 **p);
13643
13644     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
13645     HRESULT navigate([in] BSTR url);
13646
13647     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13648     HRESULT onfocus([in] VARIANT v);
13649
13650     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13651     HRESULT onfocus([retval, out] VARIANT *p);
13652
13653     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13654     HRESULT onblur([in] VARIANT v);
13655
13656     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13657     HRESULT onblur([retval, out] VARIANT *p);
13658
13659     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13660     HRESULT onload([in] VARIANT v);
13661
13662     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13663     HRESULT onload([retval, out] VARIANT *p);
13664
13665     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13666     HRESULT onbeforeunload([in] VARIANT v);
13667
13668     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13669     HRESULT onbeforeunload([retval, out] VARIANT *p);
13670
13671     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13672     HRESULT onunload([in] VARIANT v);
13673
13674     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13675     HRESULT onunload([retval, out] VARIANT *p);
13676
13677     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
13678     HRESULT onhelp([in] VARIANT v);
13679
13680     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
13681     HRESULT onhelp([retval, out] VARIANT *p);
13682
13683     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
13684     HRESULT onerror([in] VARIANT v);
13685
13686     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
13687     HRESULT onerror([retval, out] VARIANT *p);
13688
13689     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13690     HRESULT onresize([in] VARIANT v);
13691
13692     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13693     HRESULT onresize([retval, out] VARIANT *p);
13694
13695     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13696     HRESULT onscroll([in] VARIANT v);
13697
13698     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13699     HRESULT onscroll([retval, out] VARIANT *p);
13700
13701     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
13702     HRESULT document([retval, out] IHTMLDocument2 **p);
13703
13704     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
13705     HRESULT event([retval, out] IHTMLEventObj **p);
13706
13707     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
13708     HRESULT _newEnum([retval, out] IUnknown **p);
13709
13710     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
13711     HRESULT showModalDialog(
13712         [in] BSTR dialog,
13713         [optional, in] VARIANT *varArgIn,
13714         [optional, in] VARIANT *varOptions,
13715         [retval, out] VARIANT *varArgOut);
13716
13717     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
13718     HRESULT showHelp(
13719         [in] BSTR helpURL,
13720         [optional, in] VARIANT helpArg,
13721         [defaultvalue(""), in] BSTR features);
13722
13723     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
13724     HRESULT screen([retval, out] IHTMLScreen **p);
13725
13726     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
13727     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
13728
13729     [id(DISPID_IHTMLWINDOW2_FOCUS)]
13730     HRESULT focus();
13731
13732     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
13733     HRESULT closed([retval, out] VARIANT_BOOL *p);
13734
13735     [id(DISPID_IHTMLWINDOW2_BLUR)]
13736     HRESULT blur();
13737
13738     [id(DISPID_IHTMLWINDOW2_SCROLL)]
13739     HRESULT scroll([in] long x, [in] long y);
13740
13741     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
13742     HRESULT clientInformation([retval, out] IOmNavigator **p);
13743
13744     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
13745     HRESULT setInterval([
13746         in] BSTR expression,
13747         [in] long msec,
13748         [optional, in] VARIANT *language,
13749         [retval, out] long *timerID);
13750
13751     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
13752     HRESULT clearInterval([in] long timerID);
13753
13754     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13755     HRESULT offscreenBuffering([in] VARIANT v);
13756
13757     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13758     HRESULT offscreenBuffering([retval, out] VARIANT *p);
13759
13760     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
13761     HRESULT execScript(
13762         [in] BSTR scode,
13763         [defaultvalue("JScript"), in] BSTR language,
13764         [retval, out] VARIANT *pvarRet);
13765
13766     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
13767     HRESULT toString([retval, out] BSTR *String);
13768
13769     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
13770     HRESULT scrollBy([in] long x, [in] long y);
13771
13772     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
13773     HRESULT scrollTo([in] long x, [in] long y);
13774
13775     [id(DISPID_IHTMLWINDOW2_MOVETO)]
13776     HRESULT moveTo([in] long x, [in] long y);
13777
13778     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
13779     HRESULT moveBy([in] long x, [in] long y);
13780
13781     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
13782     HRESULT resizeTo([in] long x, [in] long y);
13783
13784     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
13785     HRESULT resizeBy([in] long x, [in] long y);
13786
13787     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
13788     HRESULT external([retval, out] IDispatch **p);
13789 }
13790
13791 /*****************************************************************************
13792  *    IHTMLWindow3 interface
13793  */
13794 [
13795     odl,
13796     oleautomation,
13797     dual,
13798     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
13799 ]
13800 interface IHTMLWindow3 : IDispatch
13801 {
13802     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
13803     HRESULT screenLeft([out, retval] long *p);
13804
13805     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
13806     HRESULT screenTop([out, retval] long *p);
13807
13808     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
13809     HRESULT attachEvent(
13810             [in] BSTR event,
13811             [in] IDispatch *pDisp,
13812             [out, retval] VARIANT_BOOL *pfResult);
13813
13814     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
13815     HRESULT detachEvent(
13816             [in] BSTR event,
13817             [in] IDispatch *pDisp);
13818
13819     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
13820     HRESULT setTimeout(
13821             [in] VARIANT *expression,
13822             [in] long msec,
13823             [in, optional] VARIANT *language,
13824             [out, retval] long *timerID);
13825
13826     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
13827     HRESULT setInterval(
13828             [in] VARIANT *expression,
13829             [in] long msec,
13830             [in, optional] VARIANT *language,
13831             [out, retval] long *timerID);
13832
13833     [id(DISPID_IHTMLWINDOW3_PRINT)]
13834     HRESULT print();
13835
13836     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13837     HRESULT onbeforeprint([in] VARIANT v);
13838
13839     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13840     HRESULT onbeforeprint([out, retval] VARIANT *p);
13841
13842     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13843     HRESULT onafterprint([in] VARIANT v);
13844
13845     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13846     HRESULT onafterprint([out, retval] VARIANT *p);
13847
13848     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
13849     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
13850
13851     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
13852     HRESULT showModelessDialog(
13853             [in, defaultvalue("")] BSTR url,
13854             [in, optional] VARIANT *varArgIn,
13855             [in, optional] VARIANT *options,
13856             [out, retval] IHTMLWindow2 **pDialog);
13857 }
13858
13859 /*****************************************************************************
13860  *    DispHTMLWindow2 dispinterface
13861  */
13862 [
13863     hidden,
13864     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
13865 ]
13866 dispinterface DispHTMLWindow2
13867 {
13868 properties:
13869 methods:
13870     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13871     VARIANT item([in] VARIANT *pvarIndex);
13872
13873     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13874     long length();
13875
13876     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13877     IHTMLFramesCollection2 *frames();
13878
13879     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13880     void defaultStatus(BSTR v);
13881
13882     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13883     BSTR defaultStatus();
13884
13885     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13886     void status(BSTR v);
13887
13888     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13889     BSTR status();
13890
13891     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13892     void clearTimeout([in] long timerID);
13893
13894     [id(DISPID_IHTMLWINDOW2_ALERT)]
13895     void alert([in, defaultvalue("")] BSTR message);
13896
13897     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13898     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
13899
13900     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13901     VARIANT prompt(
13902             [in, defaultvalue("")] BSTR message,
13903             [in, defaultvalue("undefined")] BSTR defstr);
13904
13905     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13906     IHTMLImageElementFactory *Image();
13907
13908     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13909     IHTMLLocation *location();
13910
13911     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13912     IOmHistory *history();
13913
13914     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13915     void close();
13916
13917     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13918     void opener(VARIANT v);
13919
13920     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13921     VARIANT opener();
13922
13923     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13924     IOmNavigator *navigator();
13925
13926     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13927     void name(BSTR v);
13928
13929     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13930     BSTR name();
13931
13932     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13933     IHTMLWindow2 *parent();
13934
13935     [id(DISPID_IHTMLWINDOW2_OPEN)]
13936     IHTMLWindow2 *open(
13937             [in, defaultvalue("")] BSTR url,
13938             [in, defaultvalue("")] BSTR name,
13939             [in, defaultvalue("")] BSTR features,
13940             [in, defaultvalue(0)]  VARIANT_BOOL replace);
13941
13942     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13943     IHTMLWindow2 *self();
13944
13945     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13946     IHTMLWindow2 *top();
13947
13948     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13949     IHTMLWindow2 *window();
13950
13951     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
13952     void navigate([in] BSTR url);
13953
13954     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
13955     void onfocus(VARIANT v);
13956
13957     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
13958     VARIANT onfocus();
13959
13960     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
13961     void onblur(VARIANT v);
13962
13963     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
13964     VARIANT onblur();
13965
13966     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
13967     VARIANT onload();
13968
13969     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
13970     void onbeforeunload(VARIANT v);
13971
13972     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
13973     VARIANT onbeforeunload();
13974
13975     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
13976     void onunload(VARIANT v);
13977
13978     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
13979     VARIANT onunload();
13980
13981     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
13982     void onhelp(VARIANT v);
13983
13984     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
13985     VARIANT onhelp();
13986
13987     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
13988     void onerror(VARIANT v);
13989
13990     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
13991     VARIANT onerror();
13992
13993     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
13994     void onresize(VARIANT v);
13995
13996     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
13997     VARIANT onresize();
13998
13999     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14000     void onscroll(VARIANT v);
14001
14002     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14003     VARIANT onscroll();
14004
14005     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
14006     IHTMLDocument2 *document();
14007
14008     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
14009     IHTMLEventObj *event();
14010
14011     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
14012     IUnknown *_newEnum();
14013
14014     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
14015     VARIANT showModalDialog(
14016             [in] BSTR dialog,
14017             [in, optional] VARIANT *varArgIn,
14018             [in, optional] VARIANT *varOptions);
14019
14020     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
14021     void showHelp(
14022             [in] BSTR helpURL,
14023             [in, optional] VARIANT helpArg,
14024             [in, defaultvalue("")] BSTR features);
14025
14026     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
14027     IHTMLScreen *screen();
14028
14029     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
14030     IHTMLOptionElementFactory *Option();
14031
14032     [id(DISPID_IHTMLWINDOW2_FOCUS)]
14033     void focus();
14034
14035     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
14036     VARIANT_BOOL closed();
14037
14038     [id(DISPID_IHTMLWINDOW2_BLUR)]
14039     void blur();
14040
14041     [id(DISPID_IHTMLWINDOW2_SCROLL)]
14042     void scroll([in] long x, [in] long y);
14043
14044     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
14045     IOmNavigator *clientInformation();
14046
14047     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
14048     void clearInterval([in] long timerID);
14049
14050     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14051     void offscreenBuffering(VARIANT v);
14052
14053     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14054     VARIANT offscreenBuffering();
14055
14056     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
14057     VARIANT execScript(
14058             [in] BSTR _code,
14059             [in, defaultvalue("JScript")] BSTR language);
14060
14061     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
14062     BSTR toString();
14063
14064     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
14065     void scrollBy([in] long x, [in] long y);
14066
14067     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
14068     void scrollTo([in] long x, [in] long y);
14069
14070     [id(DISPID_IHTMLWINDOW2_MOVETO)]
14071     void moveTo([in] long x, [in] long y);
14072
14073     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
14074     void moveBy([in] long x, [in] long y);
14075
14076     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
14077     void resizeTo([in] long x, [in] long y);
14078
14079     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
14080     void resizeBy([in] long x, [in] long y);
14081
14082     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
14083     IDispatch *external();
14084
14085     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
14086     long screenLeft();
14087
14088     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
14089     long screenTop();
14090
14091     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
14092     VARIANT_BOOL attachEvent(
14093              [in] BSTR event,
14094              [in] IDispatch *pDisp);
14095
14096     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
14097     void detachEvent(
14098             [in] BSTR event,
14099             [in] IDispatch *pDisp);
14100
14101     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
14102     long setTimeout(
14103             [in] VARIANT *expression,
14104             [in] long msec,
14105             [in, optional] VARIANT *language);
14106
14107     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
14108     long setInterval(
14109             [in] VARIANT *expression,
14110             [in] long msec,
14111             [in, optional] VARIANT *language);
14112
14113     [id(DISPID_IHTMLWINDOW3_PRINT)]
14114     void print();
14115
14116     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14117     void onbeforeprint(VARIANT v);
14118
14119     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14120     VARIANT onbeforeprint();
14121
14122     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14123     void onafterprint(VARIANT v);
14124
14125     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14126     VARIANT onafterprint();
14127
14128     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
14129     IHTMLDataTransfer *clipboardData();
14130
14131     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
14132     IHTMLWindow2 *showModelessDialog(
14133             [in, defaultvalue("")] BSTR url,
14134             [in, optional] VARIANT *varArgIn,
14135             [in, optional] VARIANT *options);
14136
14137     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
14138     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
14139
14140     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
14141     IHTMLFrameBase *frameElement();
14142 }
14143
14144 /*****************************************************************************
14145  *    HTMLDocumentEvents2 interface
14146  */
14147 [
14148     hidden,
14149     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
14150 ]
14151 dispinterface HTMLDocumentEvents2
14152 {
14153     properties:
14154     methods:
14155     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
14156     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
14157
14158     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
14159     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
14160
14161     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
14162     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
14163
14164     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
14165     void onkeydown([in] IHTMLEventObj *pEvtObj);
14166
14167     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
14168     void onkeyup([in] IHTMLEventObj *pEvtObj);
14169
14170     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
14171     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
14172
14173     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
14174     void onmousedown([in] IHTMLEventObj *pEvtObj);
14175
14176     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
14177     void onmousemove([in] IHTMLEventObj *pEvtObj);
14178
14179     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
14180     void onmouseup([in] IHTMLEventObj *pEvtObj);
14181
14182     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
14183     void onmouseout([in] IHTMLEventObj *pEvtObj);
14184
14185     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
14186     void onmouseover([in] IHTMLEventObj *pEvtObj);
14187
14188     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
14189     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
14190
14191     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
14192     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
14193
14194     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
14195     void onafterupdate([in] IHTMLEventObj *pEvtObj);
14196
14197     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
14198     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
14199
14200     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
14201     void onrowenter([in] IHTMLEventObj *pEvtObj);
14202
14203     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
14204     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
14205
14206     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
14207     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
14208
14209     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
14210     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
14211
14212     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
14213     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
14214
14215     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
14216     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
14217
14218     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
14219     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
14220
14221     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
14222     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
14223
14224     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
14225     void oncellchange([in] IHTMLEventObj *pEvtObj);
14226
14227     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
14228     void onpropertychange([in] IHTMLEventObj *pEvtObj);
14229
14230     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
14231     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
14232
14233     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
14234     void ondataavailable([in] IHTMLEventObj *pEvtObj);
14235
14236     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
14237     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
14238
14239     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
14240     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
14241
14242     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
14243     void onselectionchange([in] IHTMLEventObj *pEvtObj);
14244
14245     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
14246     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
14247
14248     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
14249     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
14250
14251     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
14252     void onfocusin([in] IHTMLEventObj *pEvtObj);
14253
14254     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
14255     void onfocusout([in] IHTMLEventObj *pEvtObj);
14256
14257     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
14258     void onactivate([in] IHTMLEventObj *pEvtObj);
14259
14260     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
14261     void ondeactivate([in] IHTMLEventObj *pEvtObj);
14262
14263     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
14264     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
14265
14266     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
14267     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
14268 }
14269
14270 /*****************************************************************************
14271  *    HTMLDocumentEvents interface
14272  */
14273 [
14274     hidden,
14275     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
14276 ]
14277 dispinterface HTMLDocumentEvents
14278 {
14279     properties:
14280     methods:
14281     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
14282     VARIANT_BOOL onhelp();
14283
14284     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
14285     VARIANT_BOOL onclick();
14286
14287     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
14288     VARIANT_BOOL ondblclick();
14289
14290     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
14291     void onkeydown();
14292
14293     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
14294     void onkeyup();
14295
14296     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
14297     VARIANT_BOOL onkeypress();
14298
14299     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
14300     void onmousedown();
14301
14302     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
14303     void onmousemove();
14304
14305     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
14306     void onmouseup();
14307
14308     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
14309     void onmouseout();
14310
14311     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
14312     void onmouseover();
14313
14314     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
14315     void onreadystatechange();
14316
14317     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
14318     VARIANT_BOOL onbeforeupdate();
14319
14320     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
14321     void onafterupdate();
14322
14323     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
14324     VARIANT_BOOL onrowexit();
14325
14326     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
14327     void onrowenter();
14328
14329     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
14330     VARIANT_BOOL ondragstart();
14331
14332     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
14333     VARIANT_BOOL onselectstart();
14334
14335     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
14336     VARIANT_BOOL onerrorupdate();
14337
14338     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
14339     VARIANT_BOOL oncontextmenu();
14340
14341     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
14342     VARIANT_BOOL onstop();
14343
14344     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
14345     void onrowsdelete();
14346
14347     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
14348     void onrowsinserted();
14349
14350     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
14351     void oncellchange();
14352
14353     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
14354     void onpropertychange();
14355
14356     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
14357     void ondatasetchanged();
14358
14359     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
14360     void ondataavailable();
14361
14362     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
14363     void ondatasetcomplete();
14364
14365     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
14366     void onbeforeeditfocus();
14367
14368     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
14369     void onselectionchange();
14370
14371     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
14372     VARIANT_BOOL oncontrolselect();
14373
14374     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
14375     VARIANT_BOOL onmousewheel();
14376
14377     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
14378     void onfocusin();
14379
14380     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
14381     void onfocusout();
14382
14383     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
14384     void onactivate();
14385
14386     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
14387     void ondeactivate();
14388
14389     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
14390     VARIANT_BOOL onbeforeactivate();
14391
14392     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
14393     VARIANT_BOOL onbeforedeactivate();
14394 }
14395
14396 /*****************************************************************************
14397  *    HTMLTextContainerEvents interface
14398  */
14399 [
14400     hidden,
14401     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
14402 ]
14403 dispinterface HTMLTextContainerEvents
14404 {
14405 properties:
14406
14407 methods:
14408     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14409     VARIANT_BOOL onhelp();
14410
14411     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14412     VARIANT_BOOL onclick();
14413
14414     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14415     VARIANT_BOOL ondblclick();
14416
14417     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14418     VARIANT_BOOL onkeypress();
14419
14420     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14421     void onkeydown();
14422
14423     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14424     void onkeyup();
14425
14426     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14427     void onmouseout();
14428
14429     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14430     void onmouseover();
14431
14432     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14433     void onmousemove();
14434
14435     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14436     void onmousedown();
14437
14438     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14439     void onmouseup();
14440
14441     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14442     VARIANT_BOOL onselectstart();
14443
14444     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14445     void onfilterchange();
14446
14447     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14448     VARIANT_BOOL ondragstart();
14449
14450     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14451     VARIANT_BOOL onbeforeupdate();
14452
14453     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14454     void onafterupdate();
14455
14456     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14457     VARIANT_BOOL onerrorupdate();
14458
14459     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14460     VARIANT_BOOL onrowexit();
14461
14462     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14463     void onrowenter();
14464
14465     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14466     void ondatasetchanged();
14467
14468     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14469     void ondataavailable();
14470
14471     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14472     void ondatasetcomplete();
14473
14474     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14475     void onlosecapture();
14476
14477     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14478     void onpropertychange();
14479
14480     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14481     void onscroll();
14482
14483     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14484     void onfocus();
14485
14486     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14487     void onblur();
14488
14489     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14490     void onresize();
14491
14492     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14493     VARIANT_BOOL ondrag();
14494
14495     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14496     void ondragend();
14497
14498     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14499     VARIANT_BOOL ondragenter();
14500
14501     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14502     VARIANT_BOOL ondragover();
14503
14504     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14505     void ondragleave();
14506
14507     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14508     VARIANT_BOOL ondrop();
14509
14510     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14511     VARIANT_BOOL onbeforecut();
14512
14513     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14514     VARIANT_BOOL oncut();
14515
14516     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14517     VARIANT_BOOL onbeforecopy();
14518
14519     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14520     VARIANT_BOOL oncopy();
14521
14522     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14523     VARIANT_BOOL onbeforepaste();
14524
14525     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14526     VARIANT_BOOL onpaste();
14527
14528     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14529     VARIANT_BOOL oncontextmenu();
14530
14531     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14532     void onrowsdelete();
14533
14534     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14535     void onrowsinserted();
14536
14537     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14538     void oncellchange();
14539
14540     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14541     void onreadystatechange();
14542
14543     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14544     void onbeforeeditfocus();
14545
14546     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14547     void onlayoutcomplete();
14548
14549     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14550     void onpage();
14551
14552     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14553     VARIANT_BOOL onbeforedeactivate();
14554
14555     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14556     VARIANT_BOOL onbeforeactivate();
14557
14558     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14559     void onmove();
14560
14561     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14562     VARIANT_BOOL oncontrolselect();
14563
14564     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14565     VARIANT_BOOL onmovestart();
14566
14567     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14568     void onmoveend();
14569
14570     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14571     VARIANT_BOOL onresizestart();
14572
14573     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14574     void onresizeend();
14575
14576     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14577     void onmouseenter();
14578
14579     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14580     void onmouseleave();
14581
14582     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14583     VARIANT_BOOL onmousewheel();
14584
14585     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14586     void onactivate();
14587
14588     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14589     void ondeactivate();
14590
14591     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14592     void onfocusin();
14593
14594     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14595     void onfocusout();
14596
14597     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
14598     void onchange();
14599
14600     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
14601     void onselect();
14602 };
14603
14604 /*****************************************************************************
14605  *    HTMLTextContainerEvents2 interface
14606  */
14607 [
14608     hidden,
14609     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
14610 ]
14611 dispinterface HTMLTextContainerEvents2
14612 {
14613 properties:
14614 methods:
14615     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14616     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14617
14618     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14619     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14620
14621     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14622     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14623
14624     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14625     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14626
14627     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14628     void onkeydown([in] IHTMLEventObj* pEvtObj);
14629
14630     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14631     void onkeyup([in] IHTMLEventObj* pEvtObj);
14632
14633     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14634     void onmouseout([in] IHTMLEventObj* pEvtObj);
14635
14636     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14637     void onmouseover([in] IHTMLEventObj* pEvtObj);
14638
14639     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14640     void onmousemove([in] IHTMLEventObj* pEvtObj);
14641
14642     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14643     void onmousedown([in] IHTMLEventObj* pEvtObj);
14644
14645     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
14646     void onmouseup([in] IHTMLEventObj* pEvtObj);
14647
14648     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
14649     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
14650
14651     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
14652     void onfilterchange([in] IHTMLEventObj* pEvtObj);
14653
14654     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
14655     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
14656
14657     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
14658     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
14659
14660     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
14661     void onafterupdate([in] IHTMLEventObj* pEvtObj);
14662
14663     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
14664     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
14665
14666     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
14667     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
14668
14669     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
14670     void onrowenter([in] IHTMLEventObj* pEvtObj);
14671
14672     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
14673     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
14674
14675     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
14676     void ondataavailable([in] IHTMLEventObj* pEvtObj);
14677
14678     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
14679     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
14680
14681     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
14682     void onlosecapture([in] IHTMLEventObj* pEvtObj);
14683
14684     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
14685     void onpropertychange([in] IHTMLEventObj* pEvtObj);
14686
14687     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
14688     void onscroll([in] IHTMLEventObj* pEvtObj);
14689
14690     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
14691     void onfocus([in] IHTMLEventObj* pEvtObj);
14692
14693     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
14694     void onblur([in] IHTMLEventObj* pEvtObj);
14695
14696     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
14697     void onresize([in] IHTMLEventObj* pEvtObj);
14698
14699     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
14700     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
14701
14702     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
14703     void ondragend([in] IHTMLEventObj* pEvtObj);
14704
14705     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
14706     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
14707
14708     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
14709     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
14710
14711     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
14712     void ondragleave([in] IHTMLEventObj* pEvtObj);
14713
14714     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
14715     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
14716
14717     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
14718     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
14719
14720     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
14721     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
14722
14723     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
14724     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
14725
14726     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
14727     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
14728
14729     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
14730     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
14731
14732     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
14733     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
14734
14735     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
14736     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
14737
14738     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
14739     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
14740
14741     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
14742     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
14743
14744     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
14745     void oncellchange([in] IHTMLEventObj* pEvtObj);
14746
14747     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
14748     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
14749
14750     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
14751     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
14752
14753     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
14754     void onpage([in] IHTMLEventObj* pEvtObj);
14755
14756     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
14757     void onmouseenter([in] IHTMLEventObj* pEvtObj);
14758
14759     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
14760     void onmouseleave([in] IHTMLEventObj* pEvtObj);
14761
14762     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
14763     void onactivate([in] IHTMLEventObj* pEvtObj);
14764
14765     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
14766     void ondeactivate([in] IHTMLEventObj* pEvtObj);
14767
14768     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
14769     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
14770
14771     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
14772     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
14773
14774     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
14775     void onfocusin([in] IHTMLEventObj* pEvtObj);
14776
14777     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
14778     void onfocusout([in] IHTMLEventObj* pEvtObj);
14779
14780     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
14781     void onmove([in] IHTMLEventObj* pEvtObj);
14782
14783     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
14784     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
14785
14786     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
14787     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
14788
14789     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
14790     void onmoveend([in] IHTMLEventObj* pEvtObj);
14791
14792     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
14793     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
14794
14795     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
14796     void onresizeend([in] IHTMLEventObj* pEvtObj);
14797
14798     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
14799     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
14800
14801     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
14802     void onchange([in] IHTMLEventObj* pEvtObj);
14803
14804     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
14805     void onselect([in] IHTMLEventObj* pEvtObj);
14806 };
14807
14808 /*****************************************************************************
14809  *    IHTMLDocument interface
14810  */
14811 [
14812     odl,
14813     oleautomation,
14814     dual,
14815     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
14816 ]
14817 interface IHTMLDocument : IDispatch
14818 {
14819     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
14820     HRESULT Script([retval, out] IDispatch **p);
14821 }
14822
14823 /*****************************************************************************
14824  *    IHTMLDocument2 interface
14825  */
14826 [
14827     odl,
14828     oleautomation,
14829     dual,
14830     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
14831 ]
14832 interface IHTMLDocument2 : IHTMLDocument
14833 {
14834     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
14835     HRESULT all([retval, out] IHTMLElementCollection **p);
14836
14837     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
14838     HRESULT body([retval, out] IHTMLElement **p);
14839
14840     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
14841     HRESULT activeElement([retval, out] IHTMLElement **p);
14842
14843     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
14844     HRESULT images([retval, out] IHTMLElementCollection **p);
14845
14846     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
14847     HRESULT applets([retval, out] IHTMLElementCollection **p);
14848
14849     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
14850     HRESULT links([retval, out] IHTMLElementCollection **p);
14851
14852     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
14853     HRESULT forms([retval, out] IHTMLElementCollection **p);
14854
14855     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
14856     HRESULT anchors([retval, out] IHTMLElementCollection **p);
14857
14858     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14859     HRESULT title([in] BSTR v);
14860
14861     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
14862     HRESULT title([retval, out] BSTR *p);
14863
14864     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
14865     HRESULT scripts([retval, out] IHTMLElementCollection **p);
14866
14867     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
14868     HRESULT designMode([in] BSTR v);
14869
14870     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
14871     HRESULT designMode([retval, out] BSTR *p);
14872
14873     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
14874     HRESULT selection([retval, out] IHTMLSelectionObject **p);
14875
14876     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
14877      HRESULT readyState([retval, out] BSTR *p);
14878
14879     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
14880     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
14881
14882     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
14883     HRESULT embeds([retval, out] IHTMLElementCollection **p);
14884
14885     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
14886     HRESULT plugins([retval, out] IHTMLElementCollection **p);
14887
14888     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14889     HRESULT alinkColor([in] VARIANT v);
14890
14891     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
14892     HRESULT alinkColor([retval, out] VARIANT *p);
14893
14894     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14895     HRESULT bgColor([in] VARIANT v);
14896
14897     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
14898     HRESULT bgColor([retval, out] VARIANT *p);
14899
14900     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14901     HRESULT fgColor([in] VARIANT v);
14902
14903     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
14904     HRESULT fgColor([retval, out] VARIANT *p);
14905
14906     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14907     HRESULT linkColor([in] VARIANT v);
14908
14909     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
14910     HRESULT linkColor([retval, out] VARIANT *p);
14911
14912     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14913     HRESULT vlinkColor([in] VARIANT v);
14914
14915     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
14916     HRESULT vlinkColor([retval, out] VARIANT *p);
14917
14918     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
14919     HRESULT referrer([retval, out] BSTR *p);
14920
14921     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
14922     HRESULT location([retval, out] IHTMLLocation **p);
14923
14924     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
14925     HRESULT lastModified([retval, out] BSTR *p);
14926
14927     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
14928     HRESULT URL([in] BSTR v);
14929
14930     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
14931     HRESULT URL([retval, out] BSTR *p);
14932
14933     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14934     HRESULT domain([in] BSTR v);
14935
14936     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
14937     HRESULT domain([retval, out] BSTR *p);
14938
14939     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14940     HRESULT cookie([in] BSTR v);
14941
14942     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
14943     HRESULT cookie([retval, out] BSTR *p);
14944
14945     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
14946     HRESULT expando([in] VARIANT_BOOL v);
14947
14948     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
14949     HRESULT expando([retval, out] VARIANT_BOOL *p);
14950
14951     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
14952      HRESULT charset([in] BSTR v);
14953
14954     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
14955     HRESULT charset([retval, out] BSTR *p);
14956
14957     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14958     HRESULT defaultCharset([in] BSTR v);
14959
14960     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
14961     HRESULT defaultCharset([retval, out] BSTR *p);
14962
14963     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
14964     HRESULT mimeType([retval, out] BSTR *p);
14965
14966     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
14967     HRESULT fileSize([retval, out] BSTR *p);
14968
14969     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
14970     HRESULT fileCreatedDate([retval, out] BSTR *p);
14971
14972     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
14973     HRESULT fileModifiedDate([retval, out] BSTR *p);
14974
14975     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
14976     HRESULT fileUpdatedDate([retval, out] BSTR *p);
14977
14978     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
14979     HRESULT security([retval, out] BSTR *p);
14980
14981     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
14982     HRESULT protocol([retval, out] BSTR *p);
14983
14984     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
14985      HRESULT nameProp([retval, out] BSTR *p);
14986
14987     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
14988     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
14989
14990     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
14991     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
14992
14993     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
14994     HRESULT open(
14995         [defaultvalue("text/html"), in] BSTR url,
14996         [optional, in] VARIANT name,
14997         [optional, in] VARIANT features,
14998         [optional, in] VARIANT replace,
14999         [retval, out]  IDispatch **pomWindowResult);
15000
15001     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
15002     HRESULT close();
15003
15004     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
15005     HRESULT clear();
15006
15007     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
15008     HRESULT queryCommandSupported(
15009         [in] BSTR cmdID,
15010         [retval, out] VARIANT_BOOL *pfRet);
15011
15012     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
15013     HRESULT queryCommandEnabled(
15014         [in] BSTR cmdID,
15015         [retval, out] VARIANT_BOOL *pfRet);
15016
15017     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
15018     HRESULT queryCommandState(
15019         [in] BSTR cmdID,
15020         [retval, out] VARIANT_BOOL *pfRet);
15021
15022     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
15023     HRESULT queryCommandIndeterm(
15024         [in] BSTR cmdID,
15025         [retval, out] VARIANT_BOOL *pfRet);
15026
15027     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
15028     HRESULT queryCommandText(
15029         [in] BSTR cmdID,
15030         [retval, out] BSTR *pcmdText);
15031
15032     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
15033     HRESULT queryCommandValue(
15034         [in] BSTR cmdID,
15035         [retval, out] VARIANT *pcmdValue);
15036
15037     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
15038     HRESULT execCommand(
15039         [in] BSTR cmdID,
15040         [defaultvalue(0), in] VARIANT_BOOL showUI,
15041         [optional, in] VARIANT value,
15042         [retval, out] VARIANT_BOOL *pfRet);
15043
15044     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
15045     HRESULT execCommandShowHelp(
15046         [in] BSTR cmdID,
15047         [retval, out] VARIANT_BOOL *pfRet);
15048
15049     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
15050      HRESULT createElement(
15051         [in] BSTR eTag,
15052         [retval, out] IHTMLElement **newElem);
15053
15054     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
15055     HRESULT onhelp([in] VARIANT v);
15056
15057     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
15058     HRESULT onhelp([retval, out] VARIANT *p);
15059
15060     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
15061     HRESULT onclick([in] VARIANT v);
15062
15063     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
15064     HRESULT onclick([retval, out] VARIANT *p);
15065
15066     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
15067     HRESULT ondblclick([in] VARIANT v);
15068
15069     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
15070     HRESULT ondblclick([retval, out] VARIANT *p);
15071
15072     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
15073     HRESULT onkeyup([in] VARIANT v);
15074
15075     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
15076     HRESULT onkeyup([retval, out] VARIANT *p);
15077
15078     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
15079     HRESULT onkeydown([in] VARIANT v);
15080
15081     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
15082     HRESULT onkeydown([retval, out] VARIANT *p);
15083
15084     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
15085      HRESULT onkeypress([in] VARIANT v);
15086
15087     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
15088     HRESULT onkeypress([retval, out] VARIANT *p);
15089
15090     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
15091     HRESULT onmouseup([in] VARIANT v);
15092
15093     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
15094     HRESULT onmouseup([retval, out] VARIANT *p);
15095
15096     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
15097     HRESULT onmousedown([in] VARIANT v);
15098
15099     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
15100     HRESULT onmousedown([retval, out] VARIANT *p);
15101
15102     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
15103     HRESULT onmousemove([in] VARIANT v);
15104
15105     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
15106     HRESULT onmousemove([retval, out] VARIANT *p);
15107
15108     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
15109     HRESULT onmouseout([in] VARIANT v);
15110
15111     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
15112     HRESULT onmouseout([retval, out] VARIANT *p);
15113
15114     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
15115     HRESULT onmouseover([in] VARIANT v);
15116
15117     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
15118     HRESULT onmouseover([retval, out] VARIANT *p);
15119
15120     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
15121     HRESULT onreadystatechange([in] VARIANT v);
15122
15123     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
15124     HRESULT onreadystatechange([retval, out] VARIANT *p);
15125
15126     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
15127     HRESULT onafterupdate([in] VARIANT v);
15128
15129     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
15130     HRESULT onafterupdate([retval, out] VARIANT *p);
15131
15132     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
15133     HRESULT onrowexit([in] VARIANT v);
15134
15135     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
15136     HRESULT onrowexit([retval, out] VARIANT *p);
15137
15138     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
15139     HRESULT onrowenter([in] VARIANT v);
15140
15141     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
15142     HRESULT onrowenter([retval, out] VARIANT *p);
15143
15144     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
15145     HRESULT ondragstart([in] VARIANT v);
15146
15147     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
15148     HRESULT ondragstart([retval, out] VARIANT *p);
15149
15150     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
15151     HRESULT onselectstart([in] VARIANT v);
15152
15153     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
15154     HRESULT onselectstart([retval, out] VARIANT *p);
15155
15156     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
15157     HRESULT elementFromPoint(
15158         [in] long x,
15159         [in] long y,
15160         [retval, out] IHTMLElement **elementHit);
15161
15162     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
15163     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
15164
15165     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
15166     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
15167
15168     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
15169     HRESULT onbeforeupdate([in] VARIANT v);
15170
15171     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
15172     HRESULT onbeforeupdate([retval, out] VARIANT *p);
15173
15174     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
15175     HRESULT onerrorupdate([in] VARIANT v);
15176
15177     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
15178     HRESULT onerrorupdate([retval, out] VARIANT *p);
15179
15180     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
15181     HRESULT toString([retval, out] BSTR *String);
15182
15183     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
15184     HRESULT createStyleSheet(
15185         [defaultvalue(""), in] BSTR bstrHref,
15186         [defaultvalue(-1), in] long lIndex,
15187         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
15188 }
15189
15190 /*****************************************************************************
15191  *    IHTMLDocument3 interface
15192  */
15193 [
15194     odl,
15195     oleautomation,
15196     dual,
15197     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
15198 ]
15199 interface IHTMLDocument3 : IDispatch
15200 {
15201     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
15202     HRESULT releaseCapture();
15203
15204     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
15205     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
15206
15207     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
15208     HRESULT createTextNode(
15209         [in] BSTR text,
15210         [retval, out] IHTMLDOMNode **newTextNode);
15211
15212     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
15213     HRESULT documentElement([retval, out] IHTMLElement **p);
15214
15215     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
15216     HRESULT uniqueID([retval, out] BSTR *p);
15217
15218     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
15219     HRESULT attachEvent(
15220         [in] BSTR event,
15221         [in] IDispatch* pDisp,
15222         [retval, out] VARIANT_BOOL *pfResult);
15223
15224     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
15225     HRESULT detachEvent(
15226         [in] BSTR event,
15227         [in] IDispatch *pDisp);
15228
15229     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15230     HRESULT onrowsdelete([in] VARIANT v);
15231
15232     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15233     HRESULT onrowsdelete([retval, out] VARIANT *p);
15234
15235     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15236     HRESULT onrowsinserted([in] VARIANT v);
15237
15238     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15239     HRESULT onrowsinserted([retval, out] VARIANT *p);
15240
15241     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15242     HRESULT oncellchange([in] VARIANT v);
15243
15244     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15245     HRESULT oncellchange([retval, out] VARIANT *p);
15246
15247     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15248     HRESULT ondatasetchanged([in] VARIANT v);
15249
15250     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15251     HRESULT ondatasetchanged([retval, out] VARIANT *p);
15252
15253     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15254     HRESULT ondataavailable([in] VARIANT v);
15255
15256     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15257     HRESULT ondataavailable([retval, out] VARIANT * p);
15258
15259     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15260     HRESULT ondatasetcomplete([in] VARIANT v);
15261
15262     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15263     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
15264
15265     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15266     HRESULT onpropertychange([in] VARIANT v);
15267
15268     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15269     HRESULT onpropertychange([retval, out] VARIANT *p);
15270
15271     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
15272     HRESULT dir([in] BSTR v);
15273
15274     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
15275     HRESULT dir([retval, out] BSTR *p);
15276
15277     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15278     HRESULT oncontextmenu([in] VARIANT v);
15279
15280     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15281     HRESULT oncontextmenu([retval, out] VARIANT *p);
15282
15283     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15284     HRESULT onstop([in] VARIANT v);
15285
15286     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15287     HRESULT onstop([retval, out] VARIANT *p);
15288
15289     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
15290     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
15291
15292     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
15293     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
15294
15295     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15296     HRESULT enableDownload([in] VARIANT_BOOL v);
15297
15298     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15299     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
15300
15301     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15302     HRESULT baseUrl([in] BSTR v);
15303
15304     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15305     HRESULT baseUrl([retval, out] BSTR *p);
15306
15307     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
15308     HRESULT childNodes([retval, out] IDispatch **p);
15309
15310     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15311     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
15312
15313     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15314     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
15315
15316     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15317     HRESULT onbeforeeditfocus([in] VARIANT v);
15318
15319     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15320     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
15321
15322     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
15323     HRESULT getElementsByName(
15324         [in] BSTR v,
15325         [retval, out] IHTMLElementCollection **pelColl);
15326
15327     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
15328     HRESULT getElementById(
15329         [in] BSTR v,
15330         [retval, out] IHTMLElement **pel);
15331
15332     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
15333     HRESULT getElementsByTagName(
15334         [in] BSTR v,
15335         [retval, out] IHTMLElementCollection **pelColl);
15336 }
15337
15338 /*****************************************************************************
15339  *    IHTMLDocument4 interface
15340  */
15341 [
15342     odl,
15343     oleautomation,
15344     dual,
15345     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
15346 ]
15347 interface IHTMLDocument4 : IDispatch
15348 {
15349     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
15350     HRESULT focus();
15351
15352     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
15353     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
15354
15355     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15356     HRESULT onselectionchange([in] VARIANT v);
15357
15358     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15359     HRESULT onselectionchange([retval, out] VARIANT *p);
15360
15361     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
15362     HRESULT namespaces([retval, out] IDispatch **p);
15363
15364     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
15365     HRESULT createDocumentFromUrl(
15366         [in] BSTR bstrUrl,
15367         [in] BSTR bstrOptions,
15368         [retval, out] IHTMLDocument2 **newDoc);
15369
15370     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15371     HRESULT media([in] BSTR v);
15372
15373     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15374     HRESULT media([retval, out] BSTR *p);
15375
15376     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
15377     HRESULT createEventObject(
15378         [optional, in] VARIANT *pvarEventObject,
15379         [retval, out] IHTMLEventObj **ppEventObj);
15380
15381     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
15382     HRESULT fireEvent(
15383         [in] BSTR bstrEventName,
15384         [optional, in] VARIANT *pvarEventObject,
15385         [retval, out] VARIANT_BOOL *pfCancelled);
15386
15387     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
15388     HRESULT createRenderStyle(
15389         [in] BSTR v,
15390         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
15391
15392     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15393     HRESULT oncontrolselect([in] VARIANT v);
15394
15395     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15396     HRESULT oncontrolselect([retval, out] VARIANT *p);
15397
15398     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
15399     HRESULT URLUnencoded([retval, out] BSTR *p);
15400 }
15401
15402 /*****************************************************************************
15403  *    IHTMLDocument5 interface
15404  */
15405 [
15406     odl,
15407     oleautomation,
15408     dual,
15409     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
15410 ]
15411 interface IHTMLDocument5 : IDispatch
15412 {
15413     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15414     HRESULT onmousewheel([in] VARIANT v);
15415
15416     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15417     HRESULT onmousewheel([retval, out] VARIANT *p);
15418
15419     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
15420     HRESULT doctype([retval, out] IHTMLDOMNode **p);
15421
15422     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
15423     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
15424
15425     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
15426     HRESULT createAttribute(
15427         [in] BSTR bstrattrName,
15428         [retval, out] IHTMLDOMAttribute **ppattribute);
15429
15430     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
15431     HRESULT createComment(
15432         [in] BSTR bstrdata,
15433         [retval, out] IHTMLDOMNode **ppRetNode);
15434
15435     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15436     HRESULT onfocusin([in] VARIANT v);
15437
15438     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15439     HRESULT onfocusin([retval, out] VARIANT *p);
15440
15441     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15442     HRESULT onfocusout([in] VARIANT v);
15443
15444     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15445     HRESULT onfocusout([retval, out] VARIANT *p);
15446
15447     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15448     HRESULT onactivate([in] VARIANT v);
15449
15450     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15451     HRESULT onactivate([retval, out] VARIANT *p);
15452
15453     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15454     HRESULT ondeactivate([in] VARIANT v);
15455
15456     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15457     HRESULT ondeactivate([retval, out] VARIANT *p);
15458
15459     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15460     HRESULT onbeforeactivate([in] VARIANT v);
15461
15462     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15463     HRESULT onbeforeactivate([retval, out] VARIANT *p);
15464
15465     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15466     HRESULT onbeforedeactivate([in] VARIANT v);
15467
15468     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15469     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
15470
15471     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
15472     HRESULT compatMode([retval, out] BSTR *p);
15473 }
15474
15475 /*****************************************************************************
15476  *    DispHTMLDocument dispinterface
15477  */
15478 [
15479     hidden,
15480     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
15481 ]
15482 dispinterface DispHTMLDocument
15483 {
15484 properties:
15485 methods:
15486     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
15487     IDispatch *Script();
15488
15489     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
15490     IHTMLElementCollection *all();
15491
15492     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
15493     IHTMLElement *body();
15494
15495     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
15496     IHTMLElement *activeElement();
15497
15498     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
15499     IHTMLElementCollection *images();
15500
15501     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
15502     IHTMLElementCollection *applets();
15503
15504     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
15505     IHTMLElementCollection *links();
15506
15507     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
15508     IHTMLElementCollection *forms();
15509
15510     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
15511     IHTMLElementCollection *anchors();
15512
15513     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15514     void title(BSTR v);
15515
15516     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15517     BSTR title();
15518
15519     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
15520     IHTMLElementCollection *scripts();
15521
15522     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
15523     void designMode(BSTR v);
15524
15525     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
15526     BSTR designMode();
15527
15528     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
15529     IHTMLSelectionObject *selection();
15530
15531     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
15532     BSTR readyState();
15533
15534     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
15535     IHTMLFramesCollection2 *frames();
15536
15537     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
15538     IHTMLElementCollection *embeds();
15539
15540     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
15541     IHTMLElementCollection *plugins();
15542
15543     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15544     void alinkColor(VARIANT v);
15545
15546     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15547     VARIANT alinkColor();
15548
15549     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15550     void bgColor(VARIANT v);
15551
15552     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15553     VARIANT bgColor();
15554
15555     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15556     void fgColor(VARIANT v);
15557
15558     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15559     VARIANT fgColor();
15560
15561     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15562     void linkColor(VARIANT v);
15563
15564     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15565     VARIANT linkColor();
15566
15567     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15568     void vlinkColor(VARIANT v);
15569
15570     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15571     VARIANT vlinkColor();
15572
15573     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
15574     BSTR referrer();
15575
15576     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
15577     IHTMLLocation *location();
15578
15579     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
15580     BSTR lastModified();
15581
15582     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
15583     void URL(BSTR v);
15584
15585     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
15586     BSTR URL();
15587
15588     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15589     void domain(BSTR v);
15590
15591     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15592     BSTR domain();
15593
15594     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15595     void cookie(BSTR v);
15596
15597     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15598     BSTR cookie();
15599
15600     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15601     void expando(VARIANT_BOOL v);
15602
15603     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15604     VARIANT_BOOL expando();
15605
15606     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15607     void charset(BSTR v);
15608
15609     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15610     BSTR charset();
15611
15612     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15613     void defaultCharset(BSTR v);
15614
15615     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15616     BSTR defaultCharset();
15617
15618     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
15619     BSTR mimeType();
15620
15621     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
15622     BSTR fileSize();
15623
15624     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
15625     BSTR fileCreatedDate();
15626
15627     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
15628     BSTR fileModifiedDate();
15629
15630     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
15631     BSTR fileUpdatedDate();
15632
15633     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
15634     BSTR security();
15635
15636     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
15637     BSTR protocol();
15638
15639     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
15640     BSTR nameProp();
15641
15642     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
15643     void write([in] SAFEARRAY(VARIANT) psarray);
15644
15645     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
15646     void writeln([in] SAFEARRAY(VARIANT) psarray);
15647
15648     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
15649     IDispatch *open(
15650         [defaultvalue("text/html"), in] BSTR url,
15651         [optional, in] VARIANT name,
15652         [optional, in] VARIANT features,
15653         [optional, in] VARIANT replace);
15654
15655     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
15656     void close();
15657
15658     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
15659     void clear();
15660
15661     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
15662     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
15663
15664     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
15665     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
15666
15667     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
15668     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
15669
15670     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
15671     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
15672
15673     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
15674     BSTR queryCommandText([in] BSTR cmdID);
15675
15676     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
15677     VARIANT queryCommandValue([in] BSTR cmdID);
15678
15679     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
15680     VARIANT_BOOL execCommand(
15681         [in] BSTR cmdID,
15682         [defaultvalue(0), in] VARIANT_BOOL showUI,
15683         [optional, in] VARIANT value);
15684
15685     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
15686     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
15687
15688     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
15689     IHTMLElement *createElement([in] BSTR eTag);
15690
15691     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
15692     void onhelp(VARIANT v);
15693
15694     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
15695     VARIANT onhelp();
15696
15697     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
15698     void onclick(VARIANT v);
15699
15700     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
15701     VARIANT onclick();
15702
15703     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
15704     void ondblclick(VARIANT v);
15705
15706     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
15707     VARIANT ondblclick();
15708
15709     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
15710     void onkeyup(VARIANT v);
15711
15712     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
15713     VARIANT onkeyup();
15714
15715     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
15716     void onkeydown(VARIANT v);
15717
15718     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
15719     VARIANT onkeydown();
15720
15721     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
15722     void onkeypress(VARIANT v);
15723
15724     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
15725     VARIANT onkeypress();
15726
15727     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
15728     void onmouseup(VARIANT v);
15729
15730     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
15731     VARIANT onmouseup();
15732
15733     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
15734     void onmousedown(VARIANT v);
15735
15736     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
15737     VARIANT onmousedown();
15738
15739     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
15740     void onmousemove(VARIANT v);
15741
15742     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
15743     VARIANT onmousemove();
15744
15745     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
15746     void onmouseout(VARIANT v);
15747
15748     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
15749     VARIANT onmouseout();
15750
15751     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
15752     void onmouseover(VARIANT v);
15753
15754     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
15755     VARIANT onmouseover();
15756
15757     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15758     void onreadystatechange(VARIANT v);
15759
15760     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
15761     VARIANT onreadystatechange();
15762
15763     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
15764     void onafterupdate(VARIANT v);
15765
15766     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
15767     VARIANT onafterupdate();
15768
15769     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
15770     void onrowexit(VARIANT v);
15771
15772     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
15773     VARIANT onrowexit();
15774
15775     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
15776     void onrowenter(VARIANT v);
15777
15778     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
15779     VARIANT onrowenter();
15780
15781     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
15782     void ondragstart(VARIANT v);
15783
15784     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
15785     VARIANT ondragstart();
15786
15787     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
15788     void onselectstart(VARIANT v);
15789
15790     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
15791     VARIANT onselectstart();
15792
15793     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
15794     IHTMLElement *elementFromPoint(
15795         [in] long x,
15796         [in] long y);
15797
15798     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
15799     IHTMLWindow2 *parentWindow();
15800
15801     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
15802     IHTMLStyleSheetsCollection *styleSheets();
15803
15804     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
15805     void onbeforeupdate(VARIANT v);
15806
15807     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
15808     VARIANT onbeforeupdate();
15809
15810     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
15811     void onerrorupdate(VARIANT v);
15812
15813     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
15814     VARIANT onerrorupdate();
15815
15816     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
15817     BSTR toString();
15818
15819     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
15820     IHTMLStyleSheet *createStyleSheet(
15821         [defaultvalue(""), in] BSTR bstrHref,
15822         [defaultvalue(-1), in] long lIndex);
15823
15824     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
15825     void releaseCapture();
15826
15827     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
15828     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
15829
15830     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
15831     IHTMLDOMNode *createTextNode([in] BSTR text);
15832
15833     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
15834     IHTMLElement *documentElement();
15835
15836     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
15837     BSTR uniqueID();
15838
15839     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
15840     VARIANT_BOOL attachEvent(
15841         [in] BSTR event,
15842         [in] IDispatch *pDisp);
15843
15844     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
15845     void detachEvent(
15846         [in] BSTR event,
15847         [in] IDispatch *pDisp);
15848
15849     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15850     void onrowsdelete(VARIANT v);
15851
15852     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15853     VARIANT onrowsdelete();
15854
15855     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15856     void onrowsinserted(VARIANT v);
15857
15858     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15859     VARIANT onrowsinserted();
15860
15861     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15862     void oncellchange(VARIANT v);
15863
15864     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15865     VARIANT oncellchange();
15866
15867     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15868     void ondatasetchanged(VARIANT v);
15869
15870     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15871     VARIANT ondatasetchanged();
15872
15873     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15874     void ondataavailable(VARIANT v);
15875
15876     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15877     VARIANT ondataavailable();
15878
15879     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15880     void ondatasetcomplete(VARIANT v);
15881
15882     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15883     VARIANT ondatasetcomplete();
15884
15885     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15886     void onpropertychange(VARIANT v);
15887
15888     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15889     VARIANT onpropertychange();
15890
15891     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
15892     void dir(BSTR v);
15893
15894     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
15895     BSTR dir();
15896
15897     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15898     void oncontextmenu(VARIANT v);
15899
15900     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15901     VARIANT oncontextmenu();
15902
15903     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15904     void onstop(VARIANT v);
15905
15906     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15907     VARIANT onstop();
15908
15909     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
15910     IHTMLDocument2 *createDocumentFragment();
15911
15912     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
15913     IHTMLDocument2 *parentDocument();
15914
15915     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15916     void enableDownload(VARIANT_BOOL v);
15917
15918     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15919     VARIANT_BOOL enableDownload();
15920
15921     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15922     void baseUrl(BSTR v);
15923
15924     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15925     BSTR baseUrl();
15926
15927     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15928     void inheritStyleSheets(VARIANT_BOOL v);
15929
15930     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15931     VARIANT_BOOL inheritStyleSheets();
15932
15933     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15934     void onbeforeeditfocus(VARIANT v);
15935
15936     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15937     VARIANT onbeforeeditfocus();
15938
15939     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
15940     IHTMLElementCollection *getElementsByName([in] BSTR v);
15941
15942     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
15943     IHTMLElement *getElementById([in] BSTR v);
15944
15945     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
15946     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
15947
15948     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
15949     void focus();
15950
15951     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
15952     VARIANT_BOOL hasFocus();
15953
15954     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15955     void onselectionchange(VARIANT v);
15956
15957     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15958     VARIANT onselectionchange();
15959
15960     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
15961     IDispatch *namespaces();
15962
15963     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
15964     IHTMLDocument2 *createDocumentFromUrl(
15965         [in] BSTR bstrUrl,
15966         [in] BSTR bstrOptions);
15967
15968     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15969     void media(BSTR v);
15970
15971     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15972     BSTR media();
15973
15974     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
15975     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
15976
15977     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
15978     VARIANT_BOOL fireEvent(
15979         [in] BSTR bstrEventName,
15980         [optional, in] VARIANT *pvarEventObject);
15981
15982     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
15983     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
15984
15985     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15986     void oncontrolselect(VARIANT v);
15987
15988     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15989     VARIANT oncontrolselect();
15990
15991     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
15992     BSTR URLUnencoded();
15993
15994     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15995     void onmousewheel(VARIANT v);
15996
15997     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15998     VARIANT onmousewheel();
15999
16000     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
16001     IHTMLDOMNode *doctype();
16002
16003     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
16004     IHTMLDOMImplementation *implementation();
16005
16006     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
16007     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
16008
16009     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
16010     IHTMLDOMNode *createComment([in] BSTR bstrdata);
16011
16012     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16013     void onfocusin(VARIANT v);
16014
16015     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16016     VARIANT onfocusin();
16017
16018     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16019     void onfocusout(VARIANT v);
16020
16021     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16022     VARIANT onfocusout();
16023
16024     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16025     void onactivate(VARIANT v);
16026
16027     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16028     VARIANT onactivate();
16029
16030     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16031     void ondeactivate(VARIANT v);
16032
16033     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16034     VARIANT ondeactivate();
16035
16036     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16037     void onbeforeactivate(VARIANT v);
16038
16039     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16040     VARIANT onbeforeactivate();
16041
16042     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16043     void onbeforedeactivate(VARIANT v);
16044
16045     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16046     VARIANT onbeforedeactivate();
16047
16048     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
16049     BSTR compatMode();
16050
16051     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
16052     long nodeType();
16053
16054     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
16055     IHTMLDOMNode *parentNode();
16056
16057     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
16058     VARIANT_BOOL hasChildNodes();
16059
16060     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
16061     IDispatch *childNodes();
16062
16063     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
16064     IDispatch *attributes();
16065
16066     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
16067     IHTMLDOMNode *insertBefore(
16068         [in] IHTMLDOMNode *newChild,
16069         [optional, in] VARIANT refChild);
16070
16071     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
16072     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
16073
16074     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
16075     IHTMLDOMNode *replaceChild(
16076         [in] IHTMLDOMNode *newChild,
16077         [in] IHTMLDOMNode *oldChild);
16078
16079     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
16080     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
16081
16082     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
16083     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
16084
16085     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
16086     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
16087
16088     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
16089     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
16090
16091     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
16092     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
16093
16094     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
16095     BSTR nodeName();
16096
16097     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16098     void nodeValue(VARIANT v);
16099
16100     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16101     VARIANT nodeValue();
16102
16103     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
16104     IHTMLDOMNode *firstChild();
16105
16106     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
16107     IHTMLDOMNode *lastChild();
16108
16109     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
16110     IHTMLDOMNode *previousSibling();
16111
16112     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
16113     IHTMLDOMNode *nextSibling();
16114
16115     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
16116     IDispatch *ownerDocument();
16117 }
16118
16119 /*****************************************************************************
16120  *    HTMLDocument coclass
16121  */
16122 [
16123     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
16124 ]
16125 coclass HTMLDocument
16126 {
16127     [default]         dispinterface DispHTMLDocument;
16128     [source, default] dispinterface HTMLDocumentEvents;
16129     [source]          dispinterface HTMLDocumentEvents2;
16130                       interface IHTMLDocument2;
16131                       interface IHTMLDocument3;
16132                       interface IHTMLDocument4;
16133                       interface IHTMLDocument5;
16134                       interface IHTMLDOMNode;
16135                       interface IHTMLDOMNode2;
16136 }
16137
16138 /*****************************************************************************
16139  *    IHTMLCommentElement interface
16140  */
16141 [
16142     odl,
16143     oleautomation,
16144     dual,
16145     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
16146 ]
16147 interface IHTMLCommentElement : IDispatch
16148 {
16149     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16150     HRESULT text([in] BSTR v);
16151
16152     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16153     HRESULT text([out, retval] BSTR *p);
16154
16155     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16156     HRESULT atomic([in] long v);
16157
16158     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16159     HRESULT atomic([out, retval] long *p);
16160 }
16161
16162 /*****************************************************************************
16163  *    IHTMLCommentElement2 interface
16164  */
16165 [
16166     odl,
16167     oleautomation,
16168     dual,
16169     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
16170 ]
16171 interface IHTMLCommentElement2 : IDispatch
16172 {
16173     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16174     HRESULT data([in] BSTR v);
16175
16176     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16177     HRESULT data([out, retval] BSTR *p);
16178
16179     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
16180     HRESULT length([out, retval] long *p);
16181
16182     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
16183     HRESULT substringData(
16184             [in] long offset,
16185             [in] long Count,
16186             [out, retval] BSTR *pbstrsubString);
16187
16188     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
16189     HRESULT appendData([in] BSTR bstrstring);
16190
16191     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
16192     HRESULT insertData(
16193             [in] long offset,
16194             [in] BSTR bstrstring);
16195
16196     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
16197     HRESULT deleteData(
16198             [in] long offset,
16199             [in] long Count);
16200
16201     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
16202     HRESULT replaceData(
16203             [in] long offset,
16204             [in] long Count,
16205             [in] BSTR bstrstring);
16206 }
16207
16208 /*****************************************************************************
16209  *    DispHTMLCommentElement dispinterface
16210  */
16211 [
16212     hidden,
16213     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
16214 ]
16215 dispinterface DispHTMLCommentElement
16216 {
16217 properties:
16218 methods:
16219     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
16220     void setAttribute(
16221             [in] BSTR strAttributeName,
16222             [in] VARIANT AttributeValue,
16223             [in, defaultvalue(1)] LONG lFlags);
16224
16225     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
16226     VARIANT getAttribute(
16227              [in] BSTR strAttributeName,
16228              [in, defaultvalue(0)] LONG lFlags);
16229
16230     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
16231     VARIANT_BOOL removeAttribute(
16232             [in] BSTR strAttributeName,
16233             [in, defaultvalue(1)] LONG lFlags);
16234
16235     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
16236     void className(BSTR v);
16237
16238     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
16239     BSTR className();
16240
16241     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
16242     void id(BSTR v);
16243
16244     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
16245     BSTR id();
16246
16247     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
16248     BSTR tagName();
16249
16250     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
16251     IHTMLElement *parentElement();
16252
16253     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
16254     IHTMLStyle *style();
16255
16256     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16257     void onhelp(VARIANT v);
16258
16259     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16260     VARIANT onhelp();
16261
16262     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16263     void onclick(VARIANT v);
16264
16265     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16266     VARIANT onclick();
16267
16268     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16269     void ondblclick(VARIANT v);
16270
16271     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16272     VARIANT ondblclick();
16273
16274     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16275     void onkeydown(VARIANT v);
16276
16277     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16278     VARIANT onkeydown();
16279
16280     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16281     void onkeyup(VARIANT v);
16282
16283     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16284     VARIANT onkeyup();
16285
16286     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16287     void onkeypress(VARIANT v);
16288
16289     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16290     VARIANT onkeypress();
16291
16292     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16293     void onmouseout(VARIANT v);
16294
16295     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16296     VARIANT onmouseout();
16297
16298     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16299     void onmouseover(VARIANT v);
16300
16301     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16302     VARIANT onmouseover();
16303
16304     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16305     void onmousemove(VARIANT v);
16306
16307     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16308     VARIANT onmousemove();
16309
16310     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16311     void onmousedown(VARIANT v);
16312
16313     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16314     VARIANT onmousedown();
16315
16316     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16317     void onmouseup(VARIANT v);
16318
16319     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16320     VARIANT onmouseup();
16321
16322     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
16323     IDispatch *document();
16324
16325     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16326     void title(BSTR v);
16327
16328     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16329     BSTR title();
16330
16331     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16332     void language(BSTR v);
16333
16334     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16335     BSTR language();
16336
16337     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16338     void onselectstart(VARIANT v);
16339
16340     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16341     VARIANT onselectstart();
16342
16343     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
16344     void scrollIntoView([in, optional] VARIANT varargStart);
16345
16346     [id(DISPID_IHTMLELEMENT_CONTAINS)]
16347     VARIANT_BOOL contains([in] IHTMLElement *pChild);
16348
16349     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
16350     long sourceIndex();
16351
16352     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
16353     VARIANT recordNumber();
16354
16355     [propput, id(DISPID_IHTMLELEMENT_LANG)]
16356     void lang(BSTR v);
16357
16358     [propget, id(DISPID_IHTMLELEMENT_LANG)]
16359     BSTR lang();
16360
16361     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
16362     long offsetLeft();
16363
16364     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
16365     long offsetTop();
16366
16367     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
16368     long offsetWidth();
16369
16370     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
16371     long offsetHeight();
16372
16373     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
16374     IHTMLElement *offsetParent();
16375
16376     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
16377     void innerHTML(BSTR v);
16378
16379     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
16380     BSTR innerHTML();
16381
16382     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
16383     void innerText(BSTR v);
16384
16385     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
16386     BSTR innerText();
16387
16388     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
16389     void outerHTML(BSTR v);
16390
16391     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
16392     BSTR outerHTML();
16393
16394     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
16395     void outerText(BSTR v);
16396
16397     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
16398     BSTR outerText();
16399
16400     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
16401     void insertAdjacentHTML(
16402             [in] BSTR where,
16403             [in] BSTR html);
16404
16405     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
16406     void insertAdjacentText(
16407             [in] BSTR where,
16408             [in] BSTR text);
16409
16410     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
16411     IHTMLElement *parentTextEdit();
16412
16413     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
16414     VARIANT_BOOL isTextEdit();
16415
16416     [id(DISPID_IHTMLELEMENT_CLICK)]
16417     void click();
16418
16419     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
16420     IHTMLFiltersCollection *filters();
16421
16422     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
16423     void ondragstart(VARIANT v);
16424
16425     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
16426     VARIANT ondragstart();
16427
16428     [id(DISPID_IHTMLELEMENT_TOSTRING)]
16429     BSTR toString();
16430
16431     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
16432     void onbeforeupdate(VARIANT v);
16433
16434     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
16435     VARIANT onbeforeupdate();
16436
16437     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
16438     void onafterupdate(VARIANT v);
16439
16440     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
16441     VARIANT onafterupdate();
16442
16443     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
16444     void onerrorupdate(VARIANT v);
16445
16446     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
16447     VARIANT onerrorupdate();
16448
16449     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
16450     void onrowexit(VARIANT v);
16451
16452     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
16453     VARIANT onrowexit();
16454
16455     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
16456     void onrowenter(VARIANT v);
16457
16458     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
16459     VARIANT onrowenter();
16460
16461     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
16462     void ondatasetchanged(VARIANT v);
16463
16464     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
16465     VARIANT ondatasetchanged();
16466
16467     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
16468     void ondataavailable(VARIANT v);
16469
16470     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
16471     VARIANT ondataavailable();
16472
16473     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
16474     void ondatasetcomplete(VARIANT v);
16475
16476     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
16477     VARIANT ondatasetcomplete();
16478
16479     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
16480     void onfilterchange(VARIANT v);
16481
16482     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
16483     VARIANT onfilterchange();
16484
16485     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
16486     IDispatch *children();
16487
16488     [propget, id(DISPID_IHTMLELEMENT_ALL)]
16489     IDispatch *all();
16490
16491     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
16492     BSTR scopeName();
16493
16494     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
16495     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
16496
16497     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
16498     void releaseCapture();
16499
16500     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
16501     void onlosecapture(VARIANT v);
16502
16503     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
16504     VARIANT onlosecapture();
16505
16506     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
16507     BSTR componentFromPoint(
16508             [in] long x,
16509             [in] long y);
16510
16511     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
16512     void doScroll([in, optional] VARIANT component);
16513
16514     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
16515     void onscroll(VARIANT v);
16516
16517     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
16518     VARIANT onscroll();
16519
16520     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
16521     void ondrag(VARIANT v);
16522
16523     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
16524     VARIANT ondrag();
16525
16526     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
16527     void ondragend(VARIANT v);
16528
16529     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
16530     VARIANT ondragend();
16531
16532     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
16533     void ondragenter(VARIANT v);
16534
16535     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
16536     VARIANT ondragenter();
16537
16538     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
16539     void ondragover(VARIANT v);
16540
16541     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
16542     VARIANT ondragover();
16543
16544     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
16545     void ondragleave(VARIANT v);
16546
16547     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
16548     VARIANT ondragleave();
16549
16550     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
16551     void ondrop(VARIANT v);
16552
16553     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
16554     VARIANT ondrop();
16555
16556     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
16557     void onbeforecut(VARIANT v);
16558
16559     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
16560     VARIANT onbeforecut();
16561
16562     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
16563     void oncut(VARIANT v);
16564
16565     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
16566     VARIANT oncut();
16567
16568     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
16569     void onbeforecopy(VARIANT v);
16570
16571     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
16572     VARIANT onbeforecopy();
16573
16574     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
16575     void oncopy(VARIANT v);
16576
16577     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
16578     VARIANT oncopy();
16579
16580     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
16581     void onbeforepaste(VARIANT v);
16582
16583     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
16584     VARIANT onbeforepaste();
16585
16586     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16587     void onpaste(VARIANT v);
16588
16589     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16590     VARIANT onpaste();
16591
16592     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
16593     IHTMLCurrentStyle *currentStyle();
16594
16595     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16596     void onpropertychange(VARIANT v);
16597
16598     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16599     VARIANT onpropertychange();
16600
16601     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
16602     IHTMLRectCollection *getClientRects();
16603
16604     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
16605     IHTMLRect *getBoundingClientRect();
16606
16607     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
16608     void setExpression(
16609             [in] BSTR propname,
16610             [in] BSTR expression,
16611             [in, defaultvalue("")] BSTR language);
16612
16613     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
16614     VARIANT getExpression([in] BSTR propname);
16615
16616     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
16617     VARIANT_BOOL removeExpression([in] BSTR propname);
16618
16619     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16620     void tabIndex(short v);
16621
16622     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16623     short tabIndex();
16624
16625     [id(DISPID_IHTMLELEMENT2_FOCUS)]
16626     void focus();
16627
16628     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16629     void accessKey(BSTR v);
16630
16631     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16632     BSTR accessKey();
16633
16634     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16635     void onblur(VARIANT v);
16636
16637     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16638     VARIANT onblur();
16639
16640     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16641     void onfocus(VARIANT v);
16642
16643     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16644     VARIANT onfocus();
16645
16646     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
16647     void onresize(VARIANT v);
16648
16649     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
16650     VARIANT onresize();
16651
16652     [id(DISPID_IHTMLELEMENT2_BLUR)]
16653     void blur();
16654
16655     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
16656     void addFilter([in] IUnknown *pUnk);
16657
16658     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
16659     void removeFilter([in] IUnknown *pUnk);
16660
16661     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
16662     long clientHeight();
16663
16664     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
16665     long clientWidth();
16666
16667     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
16668     long clientTop();
16669
16670     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
16671     long clientLeft();
16672
16673     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
16674     VARIANT_BOOL attachEvent(
16675             [in] BSTR event,
16676             [in] IDispatch *pDisp);
16677
16678     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
16679     void detachEvent(
16680             [in] BSTR event,
16681             [in] IDispatch *pDisp);
16682
16683     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
16684     VARIANT readyState();
16685
16686     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16687     void onreadystatechange(VARIANT v);
16688
16689     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16690     VARIANT onreadystatechange();
16691
16692     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
16693     void onrowsdelete(VARIANT v);
16694
16695     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
16696     VARIANT onrowsdelete();
16697
16698     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
16699     void onrowsinserted(VARIANT v);
16700
16701     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
16702      VARIANT onrowsinserted();
16703
16704     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
16705      void oncellchange(VARIANT v);
16706
16707     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
16708     VARIANT oncellchange();
16709
16710     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
16711     void dir(BSTR v);
16712
16713     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
16714     BSTR dir();
16715
16716     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
16717     IDispatch *createControlRange();
16718
16719     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
16720     long scrollHeight();
16721
16722     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
16723     long scrollWidth();
16724
16725     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
16726     void scrollTop(long v);
16727
16728     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
16729     long scrollTop();
16730
16731     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
16732     void scrollLeft(long v);
16733
16734     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
16735     long scrollLeft();
16736
16737     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
16738     void clearAttributes();
16739
16740     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
16741     void oncontextmenu(VARIANT v);
16742
16743     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
16744     VARIANT oncontextmenu();
16745
16746     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
16747     IHTMLElement *insertAdjacentElement(
16748             [in] BSTR where,
16749             [in] IHTMLElement *insertedElement);
16750
16751     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
16752     IHTMLElement *applyElement(
16753             [in] IHTMLElement *apply,
16754             [in] BSTR where);
16755
16756     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
16757     BSTR getAdjacentText([in] BSTR where);
16758
16759     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
16760     BSTR replaceAdjacentText(
16761             [in] BSTR where,
16762             [in] BSTR newText);
16763
16764     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
16765     VARIANT_BOOL canHaveChildren();
16766
16767     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
16768     long addBehavior(
16769             [in] BSTR bstrUrl,
16770             [in, optional] VARIANT *pvarFactory);
16771
16772     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
16773     VARIANT_BOOL removeBehavior([in] long cookie);
16774
16775     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
16776     IHTMLStyle *runtimeStyle();
16777
16778     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
16779     IDispatch *behaviorUrns();
16780
16781     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
16782     void tagUrn(BSTR v);
16783
16784     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
16785     BSTR tagUrn();
16786
16787     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
16788     void onbeforeeditfocus(VARIANT v);
16789
16790     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
16791     VARIANT onbeforeeditfocus();
16792
16793     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
16794     long readyStateValue();
16795
16796     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
16797     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
16798
16799     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
16800     void mergeAttributes(
16801             [in] IHTMLElement *mergeThis,
16802             [in, optional] VARIANT *pvarFlags);
16803
16804     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
16805     VARIANT_BOOL isMultiLine();
16806
16807     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
16808     VARIANT_BOOL canHaveHTML();
16809
16810     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
16811     void onlayoutcomplete(VARIANT v);
16812
16813     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
16814     VARIANT onlayoutcomplete();
16815
16816     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
16817     void onpage(VARIANT v);
16818
16819     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
16820     VARIANT onpage();
16821
16822     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
16823     void inflateBlock(VARIANT_BOOL v);
16824
16825     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
16826     VARIANT_BOOL inflateBlock();
16827
16828     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
16829     void onbeforedeactivate(VARIANT v);
16830
16831     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
16832     VARIANT onbeforedeactivate();
16833
16834     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
16835     void setActive();
16836
16837     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
16838     void contentEditable(BSTR v);
16839
16840     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
16841     BSTR contentEditable();
16842
16843     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
16844     VARIANT_BOOL isContentEditable();
16845
16846     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
16847     void hideFocus(VARIANT_BOOL v);
16848
16849     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
16850     VARIANT_BOOL hideFocus();
16851
16852     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
16853     void disabled(VARIANT_BOOL v);
16854
16855     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
16856     VARIANT_BOOL disabled();
16857
16858     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
16859     VARIANT_BOOL isDisabled();
16860
16861     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
16862     void onmove(VARIANT v);
16863
16864     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
16865     VARIANT onmove();
16866
16867     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
16868     void oncontrolselect(VARIANT v);
16869
16870     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
16871     VARIANT oncontrolselect();
16872
16873     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
16874     VARIANT_BOOL fireEvent(
16875             [in] BSTR bstrEventName,
16876             [in, optional] VARIANT *pvarEventObject);
16877
16878     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
16879     void onresizestart(VARIANT v);
16880
16881     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
16882     VARIANT onresizestart();
16883
16884     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
16885     void onresizeend(VARIANT v);
16886
16887     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
16888     VARIANT onresizeend();
16889
16890     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
16891     void onmovestart(VARIANT v);
16892
16893     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
16894     VARIANT onmovestart();
16895
16896     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
16897     void onmoveend(VARIANT v);
16898
16899     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
16900     VARIANT onmoveend();
16901
16902     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
16903     void onmouseenter(VARIANT v);
16904
16905     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
16906     VARIANT onmouseenter();
16907
16908     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
16909     void onmouseleave(VARIANT v);
16910
16911     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
16912     VARIANT onmouseleave();
16913
16914     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
16915     void onactivate(VARIANT v);
16916
16917     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
16918     VARIANT onactivate();
16919
16920     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
16921     void ondeactivate(VARIANT v);
16922
16923     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
16924     VARIANT ondeactivate();
16925
16926     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
16927     VARIANT_BOOL dragDrop();
16928
16929     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
16930     LONG glyphMode();
16931
16932     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
16933     void onmousewheel(VARIANT v);
16934
16935     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
16936     VARIANT onmousewheel();
16937
16938     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
16939     void normalize();
16940
16941     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
16942     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
16943
16944     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
16945     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
16946
16947     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
16948     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
16949
16950     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
16951     void onbeforeactivate(VARIANT v);
16952
16953     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
16954     VARIANT onbeforeactivate();
16955
16956     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
16957     void onfocusin(VARIANT v);
16958
16959     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
16960     VARIANT onfocusin();
16961
16962     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
16963     void onfocusout(VARIANT v);
16964
16965     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
16966     VARIANT onfocusout();
16967
16968     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
16969     long uniqueNumber();
16970
16971     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
16972     BSTR uniqueID();
16973
16974     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
16975     long nodeType();
16976
16977     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
16978     IHTMLDOMNode *parentNode();
16979
16980     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
16981     VARIANT_BOOL hasChildNodes();
16982
16983     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
16984     IDispatch *childNodes();
16985
16986     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
16987     IDispatch *attributes();
16988
16989     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
16990     IHTMLDOMNode *insertBefore(
16991             [in] IHTMLDOMNode *newChild,
16992             [in, optional] VARIANT refChild);
16993
16994     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
16995     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
16996
16997     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
16998     IHTMLDOMNode *replaceChild(
16999             [in] IHTMLDOMNode *newChild,
17000             [in] IHTMLDOMNode *oldChild);
17001
17002     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
17003     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
17004
17005     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
17006     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
17007
17008     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
17009     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
17010
17011     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
17012     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
17013
17014     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
17015     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
17016
17017     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
17018     BSTR nodeName();
17019
17020     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17021     void nodeValue(VARIANT v);
17022
17023     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17024     VARIANT nodeValue();
17025
17026     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
17027     IHTMLDOMNode *firstChild();
17028
17029     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
17030     IHTMLDOMNode *lastChild();
17031
17032     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
17033     IHTMLDOMNode *previousSibling();
17034
17035     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
17036     IHTMLDOMNode *nextSibling();
17037
17038     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
17039     IDispatch *ownerDocument();
17040
17041     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
17042     void text(BSTR v);
17043
17044     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
17045     BSTR text();
17046
17047     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
17048     void atomic(long v);
17049
17050     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
17051     long atomic();
17052
17053     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
17054     void data(BSTR v);
17055
17056     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
17057     BSTR data();
17058
17059     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
17060     long length();
17061
17062     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
17063     BSTR substringData(
17064             [in] long offset,
17065             [in] long Count);
17066
17067     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
17068     void appendData([in] BSTR bstrstring);
17069
17070     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
17071      void insertData(
17072             [in] long offset,
17073             [in] BSTR bstrstring);
17074
17075     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
17076     void deleteData(
17077             [in] long offset,
17078             [in] long Count);
17079
17080     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
17081     void replaceData(
17082             [in] long offset,
17083             [in] long Count,
17084             [in] BSTR bstrstring);
17085 }
17086
17087 [
17088     hidden,
17089     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
17090 ]
17091 dispinterface HTMLElementEvents2
17092 {
17093 properties:
17094 methods:
17095     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
17096     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
17097
17098     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
17099     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
17100
17101     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
17102     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
17103
17104     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
17105     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
17106
17107     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
17108     void onkeydown([in] IHTMLEventObj* pEvtObj);
17109
17110     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
17111     void onkeyup([in] IHTMLEventObj* pEvtObj);
17112
17113     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
17114     void onmouseout([in] IHTMLEventObj* pEvtObj);
17115
17116     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
17117     void onmouseover([in] IHTMLEventObj* pEvtObj);
17118
17119     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
17120     void onmousemove([in] IHTMLEventObj* pEvtObj);
17121
17122     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
17123     void onmousedown([in] IHTMLEventObj* pEvtObj);
17124
17125     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
17126     void onmouseup([in] IHTMLEventObj* pEvtObj);
17127
17128     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
17129     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
17130
17131     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
17132     void onfilterchange([in] IHTMLEventObj* pEvtObj);
17133
17134     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
17135     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
17136
17137     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
17138     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
17139
17140     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
17141     void onafterupdate([in] IHTMLEventObj* pEvtObj);
17142
17143     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
17144     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
17145
17146     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
17147     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
17148
17149     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
17150     void onrowenter([in] IHTMLEventObj* pEvtObj);
17151
17152     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
17153     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
17154
17155     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
17156     void ondataavailable([in] IHTMLEventObj* pEvtObj);
17157
17158     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
17159     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
17160
17161     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
17162     void onlosecapture([in] IHTMLEventObj* pEvtObj);
17163
17164     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
17165     void onpropertychange([in] IHTMLEventObj* pEvtObj);
17166
17167     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
17168     void onscroll([in] IHTMLEventObj* pEvtObj);
17169
17170     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
17171     void onfocus([in] IHTMLEventObj* pEvtObj);
17172
17173     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
17174     void onblur([in] IHTMLEventObj* pEvtObj);
17175
17176     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
17177     void onresize([in] IHTMLEventObj* pEvtObj);
17178
17179     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
17180     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
17181
17182     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
17183     void ondragend([in] IHTMLEventObj* pEvtObj);
17184
17185     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
17186     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
17187
17188     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
17189     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
17190
17191     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
17192     void ondragleave([in] IHTMLEventObj* pEvtObj);
17193
17194     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
17195     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
17196
17197     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
17198     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
17199
17200     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
17201     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
17202
17203     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
17204     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
17205
17206     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
17207     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
17208
17209     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
17210     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
17211
17212     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
17213     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
17214
17215     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
17216     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
17217
17218     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
17219     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
17220
17221     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
17222     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
17223
17224     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
17225     void oncellchange([in] IHTMLEventObj* pEvtObj);
17226
17227     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
17228     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
17229
17230     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
17231     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
17232
17233     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
17234     void onpage([in] IHTMLEventObj* pEvtObj);
17235
17236     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
17237     void onmouseenter([in] IHTMLEventObj* pEvtObj);
17238
17239     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
17240     void onmouseleave([in] IHTMLEventObj* pEvtObj);
17241
17242     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
17243     void onactivate([in] IHTMLEventObj* pEvtObj);
17244
17245     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
17246     void ondeactivate([in] IHTMLEventObj* pEvtObj);
17247
17248     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
17249     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
17250
17251     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
17252     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
17253
17254     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
17255     void onfocusin([in] IHTMLEventObj* pEvtObj);
17256
17257     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
17258     void onfocusout([in] IHTMLEventObj* pEvtObj);
17259
17260     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
17261     void onmove([in] IHTMLEventObj* pEvtObj);
17262
17263     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
17264     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
17265
17266     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
17267     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
17268
17269     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
17270     void onmoveend([in] IHTMLEventObj* pEvtObj);
17271
17272     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
17273     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
17274
17275     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
17276     void onresizeend([in] IHTMLEventObj* pEvtObj);
17277
17278     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
17279     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
17280 };
17281 [
17282     hidden,
17283     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
17284 ]
17285 dispinterface HTMLElementEvents
17286 {
17287 properties:
17288 methods:
17289     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
17290     VARIANT_BOOL onhelp();
17291
17292     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
17293     VARIANT_BOOL onclick();
17294
17295     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
17296     VARIANT_BOOL ondblclick();
17297
17298     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
17299     VARIANT_BOOL onkeypress();
17300
17301     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
17302     void onkeydown();
17303
17304     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
17305     void onkeyup();
17306
17307     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
17308     void onmouseout();
17309
17310     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
17311     void onmouseover();
17312
17313     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
17314     void onmousemove();
17315
17316     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
17317     void onmousedown();
17318
17319     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
17320     void onmouseup();
17321
17322     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
17323     VARIANT_BOOL onselectstart();
17324
17325     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
17326     void onfilterchange();
17327
17328     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
17329     VARIANT_BOOL ondragstart();
17330
17331     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
17332     VARIANT_BOOL onbeforeupdate();
17333
17334     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
17335     void onafterupdate();
17336
17337     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
17338     VARIANT_BOOL onerrorupdate();
17339
17340     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
17341     VARIANT_BOOL onrowexit();
17342
17343     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
17344     void onrowenter();
17345
17346     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
17347     void ondatasetchanged();
17348
17349     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
17350     void ondataavailable();
17351
17352     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
17353     void ondatasetcomplete();
17354
17355     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
17356     void onlosecapture();
17357
17358     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
17359     void onpropertychange();
17360
17361     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
17362     void onscroll();
17363
17364     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
17365     void onfocus();
17366
17367     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
17368     void onblur();
17369
17370     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
17371     void onresize();
17372
17373     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
17374     VARIANT_BOOL ondrag();
17375
17376     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
17377     void ondragend();
17378
17379     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
17380     VARIANT_BOOL ondragenter();
17381
17382     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
17383     VARIANT_BOOL ondragover();
17384
17385     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
17386     void ondragleave();
17387
17388     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
17389     VARIANT_BOOL ondrop();
17390
17391     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
17392     VARIANT_BOOL onbeforecut();
17393
17394     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
17395     VARIANT_BOOL oncut();
17396
17397     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
17398     VARIANT_BOOL onbeforecopy();
17399
17400     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
17401     VARIANT_BOOL oncopy();
17402
17403     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
17404     VARIANT_BOOL onbeforepaste();
17405
17406     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
17407     VARIANT_BOOL onpaste();
17408
17409     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
17410     VARIANT_BOOL oncontextmenu();
17411
17412     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
17413     void onrowsdelete();
17414
17415     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
17416     void onrowsinserted();
17417
17418     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
17419     void oncellchange();
17420
17421     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
17422     void onreadystatechange();
17423
17424     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
17425     void onbeforeeditfocus();
17426
17427     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
17428     void onlayoutcomplete();
17429
17430     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
17431     void onpage();
17432
17433     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
17434     VARIANT_BOOL onbeforedeactivate();
17435
17436     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
17437     VARIANT_BOOL onbeforeactivate();
17438
17439     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
17440     void onmove();
17441
17442     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
17443     VARIANT_BOOL oncontrolselect();
17444
17445     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
17446     VARIANT_BOOL onmovestart();
17447
17448     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
17449     void onmoveend();
17450
17451     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
17452     VARIANT_BOOL onresizestart();
17453
17454     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
17455     void onresizeend();
17456
17457     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
17458     void onmouseenter();
17459
17460     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
17461     void onmouseleave();
17462
17463     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
17464     VARIANT_BOOL onmousewheel();
17465
17466     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
17467     void onactivate();
17468
17469     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
17470     void ondeactivate();
17471
17472     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
17473     void onfocusin();
17474
17475     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
17476     void onfocusout();
17477
17478 };
17479
17480 [
17481     noncreatable,
17482     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
17483 ]
17484 coclass HTMLCommentElement
17485 {
17486     [default]           dispinterface DispHTMLCommentElement;
17487     [source, default]   dispinterface HTMLElementEvents;
17488     [source]            dispinterface HTMLElementEvents2;
17489                         interface IHTMLElement;
17490                         interface IHTMLElement2;
17491                         interface IHTMLElement3;
17492                         interface IHTMLElement4;
17493                         interface IHTMLUniqueName;
17494                         interface IHTMLDOMNode;
17495                         interface IHTMLDOMNode2;
17496                         interface IHTMLCommentElement;
17497                         interface IHTMLCommentElement2;
17498 }
17499
17500 /*****************************************************************************
17501  *    HTMLTableEvents dispinterface
17502  */
17503 [
17504     hidden,
17505     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
17506 ]
17507 dispinterface HTMLTableEvents
17508 {
17509 properties:
17510 methods:
17511     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
17512     VARIANT_BOOL onhelp();
17513
17514     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
17515     VARIANT_BOOL onclick();
17516
17517     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
17518     VARIANT_BOOL ondblclick();
17519
17520     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
17521     VARIANT_BOOL onkeypress();
17522
17523     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
17524     void onkeydown();
17525
17526     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
17527     void onkeyup();
17528
17529     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
17530     void onmouseout();
17531
17532     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
17533     void onmouseover();
17534
17535     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
17536     void onmousemove();
17537
17538     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
17539     void onmousedown();
17540
17541     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
17542     void onmouseup();
17543
17544     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
17545     VARIANT_BOOL onselectstart();
17546
17547     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
17548     void onfilterchange();
17549
17550     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
17551     VARIANT_BOOL ondragstart();
17552
17553     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
17554     VARIANT_BOOL onbeforeupdate();
17555
17556     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
17557     void onafterupdate();
17558
17559     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
17560     VARIANT_BOOL onerrorupdate();
17561
17562     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
17563     VARIANT_BOOL onrowexit();
17564
17565     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
17566     void onrowenter();
17567
17568     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
17569     void ondatasetchanged();
17570
17571     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
17572     void ondataavailable();
17573
17574     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
17575     void ondatasetcomplete();
17576
17577     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
17578     void onlosecapture();
17579
17580     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
17581     void onpropertychange();
17582
17583     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
17584     void onscroll();
17585
17586     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
17587     void onfocus();
17588
17589     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
17590     void onblur();
17591
17592     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
17593     void onresize();
17594
17595     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
17596     VARIANT_BOOL ondrag();
17597
17598     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
17599     void ondragend();
17600
17601     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
17602     VARIANT_BOOL ondragenter();
17603
17604     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
17605     VARIANT_BOOL ondragover();
17606
17607     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
17608     void ondragleave();
17609
17610     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
17611     VARIANT_BOOL ondrop();
17612
17613     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
17614     VARIANT_BOOL onbeforecut();
17615
17616     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
17617     VARIANT_BOOL oncut();
17618
17619     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
17620     VARIANT_BOOL onbeforecopy();
17621
17622     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
17623     VARIANT_BOOL oncopy();
17624
17625     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
17626     VARIANT_BOOL onbeforepaste();
17627
17628     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
17629     VARIANT_BOOL onpaste();
17630
17631     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
17632     VARIANT_BOOL oncontextmenu();
17633
17634     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
17635     void onrowsdelete();
17636
17637     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
17638     void onrowsinserted();
17639
17640     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
17641     void oncellchange();
17642
17643     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
17644     void onreadystatechange();
17645
17646     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
17647     void onbeforeeditfocus();
17648
17649     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
17650     void onlayoutcomplete();
17651
17652     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
17653     void onpage();
17654
17655     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
17656     VARIANT_BOOL onbeforedeactivate();
17657
17658     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
17659     VARIANT_BOOL onbeforeactivate();
17660
17661     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
17662     void onmove();
17663
17664     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
17665     VARIANT_BOOL oncontrolselect();
17666
17667     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
17668     VARIANT_BOOL onmovestart();
17669
17670     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
17671     void onmoveend();
17672
17673     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
17674     VARIANT_BOOL onresizestart();
17675
17676     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
17677     void onresizeend();
17678
17679     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
17680     void onmouseenter();
17681
17682     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
17683     void onmouseleave();
17684
17685     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
17686     VARIANT_BOOL onmousewheel();
17687
17688     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
17689     void onactivate();
17690
17691     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
17692     void ondeactivate();
17693
17694     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
17695     void onfocusin();
17696
17697     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
17698     void onfocusout();
17699 }
17700
17701 /*****************************************************************************
17702  *    IHTMLTableCaption interface
17703  */
17704 [
17705     odl,
17706     oleautomation,
17707     dual,
17708     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
17709 ]
17710 interface IHTMLTableCaption : IDispatch
17711 {
17712     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
17713     HRESULT align([in] BSTR v);
17714
17715     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
17716     HRESULT align([retval, out] BSTR *p);
17717
17718     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
17719     HRESULT vAlign([in] BSTR v);
17720
17721     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
17722     HRESULT vAlign([retval, out] BSTR *p);
17723 }
17724
17725 interface IHTMLTableSection;
17726
17727 /*****************************************************************************
17728  *    IHTMLTable interface
17729  */
17730 [
17731     odl,
17732     oleautomation,
17733     dual,
17734     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
17735 ]
17736 interface IHTMLTable : IDispatch
17737 {
17738     [propput, id(DISPID_IHTMLTABLE_COLS)]
17739     HRESULT cols([in] long v);
17740
17741     [propget, id(DISPID_IHTMLTABLE_COLS)]
17742     HRESULT cols([retval, out] long *p);
17743
17744     [propput, id(DISPID_IHTMLTABLE_BORDER)]
17745     HRESULT border([in] VARIANT v);
17746
17747     [propget, id(DISPID_IHTMLTABLE_BORDER)]
17748     HRESULT border([retval, out] VARIANT *p);
17749
17750     [propput, id(DISPID_IHTMLTABLE_FRAME)]
17751     HRESULT frame([in] BSTR v);
17752
17753     [propget, id(DISPID_IHTMLTABLE_FRAME)]
17754     HRESULT frame([retval, out] BSTR *p);
17755
17756     [propput, id(DISPID_IHTMLTABLE_RULES)]
17757     HRESULT rules([in] BSTR v);
17758
17759     [propget, id(DISPID_IHTMLTABLE_RULES)]
17760     HRESULT rules([retval, out] BSTR *p);
17761
17762     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
17763     HRESULT cellSpacing([in] VARIANT v);
17764
17765     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
17766     HRESULT cellSpacing([retval, out] VARIANT *p);
17767
17768     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
17769     HRESULT cellPadding([in] VARIANT v);
17770
17771     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
17772     HRESULT cellPadding([retval, out] VARIANT *p);
17773
17774     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
17775     HRESULT background([in] BSTR v);
17776
17777     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
17778     HRESULT background([retval, out] BSTR *p);
17779
17780     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
17781     HRESULT bgColor([in] VARIANT v);
17782
17783     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
17784     HRESULT bgColor([retval, out] VARIANT *p);
17785
17786     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
17787     HRESULT borderColor([in] VARIANT v);
17788
17789     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
17790     HRESULT borderColor([retval, out] VARIANT *p);
17791
17792     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
17793     HRESULT borderColorLight([in] VARIANT v);
17794
17795     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
17796     HRESULT borderColorLight([retval, out] VARIANT *p);
17797
17798     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
17799     HRESULT borderColorDark([in] VARIANT v);
17800
17801     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
17802     HRESULT borderColorDark([retval, out] VARIANT *p);
17803
17804     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
17805     HRESULT align([in] BSTR v);
17806
17807     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
17808     HRESULT align([retval, out] BSTR * p);
17809
17810     [id(DISPID_IHTMLTABLE_REFRESH)]
17811     HRESULT refresh();
17812
17813     [propget, id(DISPID_IHTMLTABLE_ROWS)]
17814     HRESULT rows([retval, out] IHTMLElementCollection **p);
17815
17816     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
17817     HRESULT width([in] VARIANT v);
17818
17819     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
17820     HRESULT width([retval, out] VARIANT *p);
17821
17822     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
17823     HRESULT height([in] VARIANT v);
17824
17825     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
17826     HRESULT height([retval, out] VARIANT *p);
17827
17828     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
17829     HRESULT dataPageSize([in] long v);
17830
17831     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
17832     HRESULT dataPageSize([retval, out] long *p);
17833
17834     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
17835     HRESULT nextPage();
17836
17837     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
17838     HRESULT previousPage();
17839
17840     [propget, id(DISPID_IHTMLTABLE_THEAD)]
17841     HRESULT tHead([retval, out] IHTMLTableSection **p);
17842
17843     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
17844     HRESULT tFoot([retval, out] IHTMLTableSection **p);
17845
17846     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
17847     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
17848
17849     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
17850     HRESULT caption([retval, out] IHTMLTableCaption **p);
17851
17852     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
17853     HRESULT createTHead([retval, out] IDispatch **head);
17854
17855     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
17856     HRESULT deleteTHead();
17857
17858     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
17859     HRESULT createTFoot([retval, out] IDispatch **foot);
17860
17861     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
17862     HRESULT deleteTFoot();
17863
17864     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
17865     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
17866
17867     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
17868     HRESULT deleteCaption();
17869
17870     [id(DISPID_IHTMLTABLE_INSERTROW)]
17871     HRESULT insertRow(
17872             [defaultvalue(-1), in] long index,
17873             [retval, out] IDispatch **row);
17874
17875     [id(DISPID_IHTMLTABLE_DELETEROW)]
17876     HRESULT deleteRow([defaultvalue(-1), in] long index);
17877
17878     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
17879     HRESULT readyState([retval, out] BSTR *p);
17880
17881     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
17882     HRESULT onreadystatechange([in] VARIANT v);
17883
17884     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
17885     HRESULT onreadystatechange([retval, out] VARIANT *p);
17886 }
17887
17888 [
17889     odl,
17890     oleautomation,
17891     dual,
17892     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
17893 ]
17894 interface IHTMLTableSection : IDispatch
17895 {
17896     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
17897     HRESULT align([in] BSTR v);
17898
17899     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
17900     HRESULT align([retval, out] BSTR *p);
17901
17902     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
17903     HRESULT vAlign([in] BSTR v);
17904
17905     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
17906     HRESULT vAlign([retval, out] BSTR *p);
17907
17908     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
17909     HRESULT bgColor([in] VARIANT v);
17910
17911     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
17912     HRESULT bgColor([retval, out] VARIANT *p);
17913
17914     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
17915     HRESULT rows([retval, out] IHTMLElementCollection **p);
17916
17917     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
17918     HRESULT insertRow(
17919             [defaultvalue(-1), in] long index,
17920             [retval, out] IDispatch **row);
17921
17922     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
17923     HRESULT deleteRow([defaultvalue(-1), in] long index);
17924 }
17925
17926 /*****************************************************************************
17927  *    IHTMLTableRow interface
17928  */
17929 [
17930     odl,
17931     oleautomation,
17932     dual,
17933     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
17934 ]
17935 interface IHTMLTableRow : IDispatch
17936 {
17937     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
17938     HRESULT align([in] BSTR v);
17939
17940     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
17941     HRESULT align([out, retval] BSTR *p);
17942
17943     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
17944     HRESULT vAlign([in] BSTR v);
17945
17946     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
17947     HRESULT vAlign([out, retval] BSTR *p);
17948
17949     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
17950     HRESULT bgColor([in] VARIANT v);
17951
17952     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
17953     HRESULT bgColor([out, retval] VARIANT *p);
17954
17955     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
17956     HRESULT borderColor([in] VARIANT v);
17957
17958     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
17959     HRESULT borderColor([out, retval] VARIANT *p);
17960
17961     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
17962     HRESULT borderColorLight([in] VARIANT v);
17963
17964     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
17965     HRESULT borderColorLight([out, retval] VARIANT *p);
17966
17967     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
17968     HRESULT borderColorDark([in] VARIANT v);
17969
17970     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
17971     HRESULT borderColorDark([out, retval] VARIANT *p);
17972
17973     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
17974     HRESULT rowIndex([out, retval] long *p);
17975
17976     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
17977     HRESULT sectionRowIndex([out, retval] long *p);
17978
17979     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
17980     HRESULT cells([out, retval] IHTMLElementCollection **p);
17981
17982     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
17983     HRESULT insertCell(
17984             [in, defaultvalue(-1)] long index,
17985             [out, retval] IDispatch **row);
17986
17987     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
17988     HRESULT deleteCell([in, defaultvalue(-1)] long index);
17989 }
17990
17991 /*****************************************************************************
17992  *    DispHTMLTable interface
17993  */
17994 [
17995     hidden,
17996     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
17997 ]
17998 dispinterface DispHTMLTable
17999 {
18000 properties:
18001 methods:
18002     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
18003     void setAttribute(
18004             [in] BSTR strAttributeName,
18005             [in] VARIANT AttributeValue,
18006             [in, defaultvalue(1)] LONG lFlags);
18007
18008     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
18009     VARIANT getAttribute(
18010              [in] BSTR strAttributeName,
18011              [in, defaultvalue(0)] LONG lFlags);
18012
18013     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
18014     VARIANT_BOOL removeAttribute(
18015             [in] BSTR strAttributeName,
18016             [in, defaultvalue(1)] LONG lFlags);
18017
18018     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18019     void className(BSTR v);
18020
18021     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18022     BSTR className();
18023
18024     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
18025     void id(BSTR v);
18026
18027     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
18028     BSTR id();
18029
18030     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
18031     BSTR tagName();
18032
18033     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
18034     IHTMLElement *parentElement();
18035
18036     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
18037     IHTMLStyle *style();
18038
18039     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18040     void onhelp(VARIANT v);
18041
18042     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18043     VARIANT onhelp();
18044
18045     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18046     void onclick(VARIANT v);
18047
18048     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18049     VARIANT onclick();
18050
18051     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18052     void ondblclick(VARIANT v);
18053
18054     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18055     VARIANT ondblclick();
18056
18057     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18058     void onkeydown(VARIANT v);
18059
18060     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18061     VARIANT onkeydown();
18062
18063     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18064     void onkeyup(VARIANT v);
18065
18066     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18067     VARIANT onkeyup();
18068
18069     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18070     void onkeypress(VARIANT v);
18071
18072     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18073     VARIANT onkeypress();
18074
18075     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18076     void onmouseout(VARIANT v);
18077
18078     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18079     VARIANT onmouseout();
18080
18081     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18082     void onmouseover(VARIANT v);
18083
18084     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18085     VARIANT onmouseover();
18086
18087     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18088     void onmousemove(VARIANT v);
18089
18090     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18091     VARIANT onmousemove();
18092
18093     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18094     void onmousedown(VARIANT v);
18095
18096     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18097     VARIANT onmousedown();
18098
18099     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18100     void onmouseup(VARIANT v);
18101
18102     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18103     VARIANT onmouseup();
18104
18105     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
18106     IDispatch *document();
18107
18108     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18109     void title(BSTR v);
18110
18111     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18112     BSTR title();
18113
18114     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18115     void language(BSTR v);
18116
18117     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18118     BSTR language();
18119
18120     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18121     void onselectstart(VARIANT v);
18122
18123     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18124     VARIANT onselectstart();
18125
18126     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
18127     void scrollIntoView([in, optional] VARIANT varargStart);
18128
18129     [id(DISPID_IHTMLELEMENT_CONTAINS)]
18130     VARIANT_BOOL contains([in] IHTMLElement *pChild);
18131
18132     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
18133     long sourceIndex();
18134
18135     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
18136     VARIANT recordNumber();
18137
18138     [propput, id(DISPID_IHTMLELEMENT_LANG)]
18139     void lang(BSTR v);
18140
18141     [propget, id(DISPID_IHTMLELEMENT_LANG)]
18142     BSTR lang();
18143
18144     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
18145     long offsetLeft();
18146
18147     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
18148     long offsetTop();
18149
18150     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
18151     long offsetWidth();
18152
18153     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
18154     long offsetHeight();
18155
18156     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
18157     IHTMLElement *offsetParent();
18158
18159     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
18160     void innerHTML(BSTR v);
18161
18162     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
18163     BSTR innerHTML();
18164
18165     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18166     void innerText(BSTR v);
18167
18168     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18169     BSTR innerText();
18170
18171     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18172     void outerHTML(BSTR v);
18173
18174     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18175     BSTR outerHTML();
18176
18177     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18178     void outerText(BSTR v);
18179
18180     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18181     BSTR outerText();
18182
18183     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
18184     void insertAdjacentHTML(
18185             [in] BSTR where,
18186             [in] BSTR html);
18187
18188     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
18189     void insertAdjacentText(
18190             [in] BSTR where,
18191             [in] BSTR text);
18192
18193     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
18194     IHTMLElement *parentTextEdit();
18195
18196     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
18197     VARIANT_BOOL isTextEdit();
18198
18199     [id(DISPID_IHTMLELEMENT_CLICK)]
18200     void click();
18201
18202     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
18203     IHTMLFiltersCollection *filters();
18204
18205     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18206     void ondragstart(VARIANT v);
18207
18208     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18209     VARIANT ondragstart();
18210
18211     [id(DISPID_IHTMLELEMENT_TOSTRING)]
18212     BSTR toString();
18213
18214     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18215     void onbeforeupdate(VARIANT v);
18216
18217     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18218     VARIANT onbeforeupdate();
18219
18220     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18221     void onafterupdate(VARIANT v);
18222
18223     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18224     VARIANT onafterupdate();
18225
18226     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18227     void onerrorupdate(VARIANT v);
18228
18229     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18230     VARIANT onerrorupdate();
18231
18232     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18233     void onrowexit(VARIANT v);
18234
18235     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18236     VARIANT onrowexit();
18237
18238     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18239     void onrowenter(VARIANT v);
18240
18241     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18242     VARIANT onrowenter();
18243
18244     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18245     void ondatasetchanged(VARIANT v);
18246
18247     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18248     VARIANT ondatasetchanged();
18249
18250     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18251     void ondataavailable(VARIANT v);
18252
18253     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18254     VARIANT ondataavailable();
18255
18256     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18257     void ondatasetcomplete(VARIANT v);
18258
18259     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18260     VARIANT ondatasetcomplete();
18261
18262     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18263     void onfilterchange(VARIANT v);
18264
18265     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18266     VARIANT onfilterchange();
18267
18268     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
18269     IDispatch *children();
18270
18271     [propget, id(DISPID_IHTMLELEMENT_ALL)]
18272     IDispatch *all();
18273
18274     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
18275     BSTR scopeName();
18276
18277     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
18278     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
18279
18280     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
18281     void releaseCapture();
18282
18283     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
18284     void onlosecapture(VARIANT v);
18285
18286     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
18287     VARIANT onlosecapture();
18288
18289     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
18290     BSTR componentFromPoint(
18291             [in] long x,
18292             [in] long y);
18293
18294     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
18295     void doScroll([in, optional] VARIANT component);
18296
18297     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
18298     void onscroll(VARIANT v);
18299
18300     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
18301     VARIANT onscroll();
18302
18303     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
18304     void ondrag(VARIANT v);
18305
18306     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
18307     VARIANT ondrag();
18308
18309     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
18310     void ondragend(VARIANT v);
18311
18312     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
18313     VARIANT ondragend();
18314
18315     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
18316     void ondragenter(VARIANT v);
18317
18318     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
18319     VARIANT ondragenter();
18320
18321     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
18322     void ondragover(VARIANT v);
18323
18324     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
18325     VARIANT ondragover();
18326
18327     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
18328     void ondragleave(VARIANT v);
18329
18330     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
18331     VARIANT ondragleave();
18332
18333     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
18334     void ondrop(VARIANT v);
18335
18336     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
18337     VARIANT ondrop();
18338
18339     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
18340     void onbeforecut(VARIANT v);
18341
18342     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
18343     VARIANT onbeforecut();
18344
18345     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
18346     void oncut(VARIANT v);
18347
18348     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
18349     VARIANT oncut();
18350
18351     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
18352     void onbeforecopy(VARIANT v);
18353
18354     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
18355     VARIANT onbeforecopy();
18356
18357     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
18358     void oncopy(VARIANT v);
18359
18360     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
18361     VARIANT oncopy();
18362
18363     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
18364     void onbeforepaste(VARIANT v);
18365
18366     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
18367     VARIANT onbeforepaste();
18368
18369     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
18370     void onpaste(VARIANT v);
18371
18372     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
18373     VARIANT onpaste();
18374
18375     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
18376     IHTMLCurrentStyle *currentStyle();
18377
18378     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
18379     void onpropertychange(VARIANT v);
18380
18381     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
18382     VARIANT onpropertychange();
18383
18384     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
18385     IHTMLRectCollection *getClientRects();
18386
18387     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
18388     IHTMLRect *getBoundingClientRect();
18389
18390     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
18391     void setExpression(
18392             [in] BSTR propname,
18393             [in] BSTR expression,
18394             [in, defaultvalue("")] BSTR language);
18395
18396     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
18397     VARIANT getExpression([in] BSTR propname);
18398
18399     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
18400     VARIANT_BOOL removeExpression([in] BSTR propname);
18401
18402     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
18403     void tabIndex(short v);
18404
18405     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
18406     short tabIndex();
18407
18408     [id(DISPID_IHTMLELEMENT2_FOCUS)]
18409     void focus();
18410
18411     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
18412     void accessKey(BSTR v);
18413
18414     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
18415     BSTR accessKey();
18416
18417     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
18418     void onblur(VARIANT v);
18419
18420     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
18421     VARIANT onblur();
18422
18423     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
18424     void onfocus(VARIANT v);
18425
18426     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
18427     VARIANT onfocus();
18428
18429     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
18430     void onresize(VARIANT v);
18431
18432     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
18433     VARIANT onresize();
18434
18435     [id(DISPID_IHTMLELEMENT2_BLUR)]
18436     void blur();
18437
18438     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
18439     void addFilter([in] IUnknown *pUnk);
18440
18441     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
18442     void removeFilter([in] IUnknown *pUnk);
18443
18444     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
18445     long clientHeight();
18446
18447     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
18448     long clientWidth();
18449
18450     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
18451     long clientTop();
18452
18453     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
18454     long clientLeft();
18455
18456     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
18457     VARIANT_BOOL attachEvent(
18458             [in] BSTR event,
18459             [in] IDispatch *pDisp);
18460
18461     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
18462     void detachEvent(
18463             [in] BSTR event,
18464             [in] IDispatch *pDisp);
18465
18466     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
18467     VARIANT readyState();
18468
18469     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
18470     void onreadystatechange(VARIANT v);
18471
18472     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
18473     VARIANT onreadystatechange();
18474
18475     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
18476     void onrowsdelete(VARIANT v);
18477
18478     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
18479     VARIANT onrowsdelete();
18480
18481     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
18482     void onrowsinserted(VARIANT v);
18483
18484     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
18485     VARIANT onrowsinserted();
18486
18487     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
18488      void oncellchange(VARIANT v);
18489
18490     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
18491     VARIANT oncellchange();
18492
18493     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
18494     void dir(BSTR v);
18495
18496     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
18497     BSTR dir();
18498
18499     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
18500     IDispatch *createControlRange();
18501
18502     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
18503     long scrollHeight();
18504
18505     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
18506     long scrollWidth();
18507
18508     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
18509     void scrollTop(long v);
18510
18511     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
18512     long scrollTop();
18513
18514     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
18515     void scrollLeft(long v);
18516
18517     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
18518     long scrollLeft();
18519
18520     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
18521     void clearAttributes();
18522
18523     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
18524     void oncontextmenu(VARIANT v);
18525
18526     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
18527     VARIANT oncontextmenu();
18528
18529     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
18530     IHTMLElement *insertAdjacentElement(
18531             [in] BSTR where,
18532             [in] IHTMLElement *insertedElement);
18533
18534     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
18535     IHTMLElement *applyElement(
18536             [in] IHTMLElement *apply,
18537             [in] BSTR where);
18538
18539     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
18540     BSTR getAdjacentText([in] BSTR where);
18541
18542     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
18543     BSTR replaceAdjacentText(
18544             [in] BSTR where,
18545             [in] BSTR newText);
18546
18547     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
18548     VARIANT_BOOL canHaveChildren();
18549
18550     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
18551     long addBehavior(
18552             [in] BSTR bstrUrl,
18553             [in, optional] VARIANT *pvarFactory);
18554
18555     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
18556     VARIANT_BOOL removeBehavior([in] long cookie);
18557
18558     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
18559     IHTMLStyle *runtimeStyle();
18560
18561     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
18562     IDispatch *behaviorUrns();
18563
18564     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
18565     void tagUrn(BSTR v);
18566
18567     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
18568     BSTR tagUrn();
18569
18570     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
18571     void onbeforeeditfocus(VARIANT v);
18572
18573     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
18574     VARIANT onbeforeeditfocus();
18575
18576     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
18577     long readyStateValue();
18578
18579     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
18580     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
18581
18582     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
18583     void mergeAttributes(
18584             [in] IHTMLElement *mergeThis,
18585             [in, optional] VARIANT *pvarFlags);
18586
18587     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
18588     VARIANT_BOOL isMultiLine();
18589
18590     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
18591     VARIANT_BOOL canHaveHTML();
18592
18593     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
18594     void onlayoutcomplete(VARIANT v);
18595
18596     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
18597     VARIANT onlayoutcomplete();
18598
18599     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
18600     void onpage(VARIANT v);
18601
18602     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
18603     VARIANT onpage();
18604
18605     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
18606     void inflateBlock(VARIANT_BOOL v);
18607
18608     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
18609     VARIANT_BOOL inflateBlock();
18610
18611     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
18612     void onbeforedeactivate(VARIANT v);
18613
18614     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
18615     VARIANT onbeforedeactivate();
18616
18617     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
18618     void setActive();
18619
18620     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
18621     void contentEditable(BSTR v);
18622
18623     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
18624     BSTR contentEditable();
18625
18626     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
18627     VARIANT_BOOL isContentEditable();
18628
18629     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
18630     void hideFocus(VARIANT_BOOL v);
18631
18632     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
18633     VARIANT_BOOL hideFocus();
18634
18635     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
18636     void disabled(VARIANT_BOOL v);
18637
18638     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
18639     VARIANT_BOOL disabled();
18640
18641     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
18642     VARIANT_BOOL isDisabled();
18643
18644     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
18645     void onmove(VARIANT v);
18646
18647     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
18648     VARIANT onmove();
18649
18650     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
18651     void oncontrolselect(VARIANT v);
18652
18653     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
18654     VARIANT oncontrolselect();
18655
18656     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
18657     VARIANT_BOOL fireEvent(
18658             [in] BSTR bstrEventName,
18659             [in, optional] VARIANT *pvarEventObject);
18660
18661     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
18662     void onresizestart(VARIANT v);
18663
18664     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
18665     VARIANT onresizestart();
18666
18667     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
18668     void onresizeend(VARIANT v);
18669
18670     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
18671     VARIANT onresizeend();
18672
18673     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
18674     void onmovestart(VARIANT v);
18675
18676     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
18677     VARIANT onmovestart();
18678
18679     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
18680     void onmoveend(VARIANT v);
18681
18682     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
18683     VARIANT onmoveend();
18684
18685     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
18686     void onmouseenter(VARIANT v);
18687
18688     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
18689     VARIANT onmouseenter();
18690
18691     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
18692     void onmouseleave(VARIANT v);
18693
18694     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
18695     VARIANT onmouseleave();
18696
18697     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
18698     void onactivate(VARIANT v);
18699
18700     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
18701     VARIANT onactivate();
18702
18703     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
18704     void ondeactivate(VARIANT v);
18705
18706     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
18707     VARIANT ondeactivate();
18708
18709     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
18710     VARIANT_BOOL dragDrop();
18711
18712     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
18713     LONG glyphMode();
18714
18715     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
18716     void onmousewheel(VARIANT v);
18717
18718     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
18719     VARIANT onmousewheel();
18720
18721     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
18722     void normalize();
18723
18724     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
18725     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
18726
18727     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
18728     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
18729
18730     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
18731     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
18732
18733     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
18734     void onbeforeactivate(VARIANT v);
18735
18736     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
18737     VARIANT onbeforeactivate();
18738
18739     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
18740     void onfocusin(VARIANT v);
18741
18742     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
18743     VARIANT onfocusin();
18744
18745     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
18746     void onfocusout(VARIANT v);
18747
18748     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
18749     VARIANT onfocusout();
18750
18751     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
18752     long uniqueNumber();
18753
18754     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
18755     BSTR uniqueID();
18756
18757     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
18758     long nodeType();
18759
18760     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
18761     IHTMLDOMNode *parentNode();
18762
18763     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
18764     VARIANT_BOOL hasChildNodes();
18765
18766     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
18767     IDispatch *childNodes();
18768
18769     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
18770     IDispatch *attributes();
18771
18772     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
18773     IHTMLDOMNode *insertBefore(
18774             [in] IHTMLDOMNode *newChild,
18775             [in, optional] VARIANT refChild);
18776
18777     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
18778     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
18779
18780     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
18781     IHTMLDOMNode *replaceChild(
18782             [in] IHTMLDOMNode *newChild,
18783             [in] IHTMLDOMNode *oldChild);
18784
18785     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
18786     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
18787
18788     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
18789     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
18790
18791     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
18792     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
18793
18794     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
18795     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
18796
18797     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
18798     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
18799
18800     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
18801     BSTR nodeName();
18802
18803     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
18804     void nodeValue(VARIANT v);
18805
18806     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
18807     VARIANT nodeValue();
18808
18809     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
18810     IHTMLDOMNode *firstChild();
18811
18812     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
18813     IHTMLDOMNode *lastChild();
18814
18815     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
18816     IHTMLDOMNode *previousSibling();
18817
18818     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
18819     IHTMLDOMNode *nextSibling();
18820
18821     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
18822     IDispatch *ownerDocument();
18823
18824     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
18825     void dataFld(BSTR v);
18826
18827     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
18828     BSTR dataFld();
18829
18830     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
18831     void dataSrc(BSTR v);
18832
18833     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
18834     BSTR dataSrc();
18835
18836     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
18837     void dataFormatAs(BSTR v);
18838
18839     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
18840     BSTR dataFormatAs();
18841
18842     [propput, id(DISPID_IHTMLTABLE_COLS)]
18843     void cols(long v);
18844
18845     [propget, id(DISPID_IHTMLTABLE_COLS)]
18846     long cols();
18847
18848     [propput, id(DISPID_IHTMLTABLE_BORDER)]
18849     void border(VARIANT v);
18850
18851     [propget, id(DISPID_IHTMLTABLE_BORDER)]
18852     VARIANT border();
18853
18854     [propput, id(DISPID_IHTMLTABLE_FRAME)]
18855     void frame(BSTR v);
18856
18857     [propget, id(DISPID_IHTMLTABLE_FRAME)]
18858     BSTR frame();
18859
18860     [propput, id(DISPID_IHTMLTABLE_RULES)]
18861     void rules(BSTR v);
18862
18863     [propget, id(DISPID_IHTMLTABLE_RULES)]
18864     BSTR rules();
18865
18866     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
18867     void cellSpacing(VARIANT v);
18868
18869     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
18870     VARIANT cellSpacing();
18871
18872     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
18873     void cellPadding(VARIANT v);
18874
18875     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
18876     VARIANT cellPadding();
18877
18878     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
18879     void background(BSTR v);
18880
18881     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
18882     BSTR background();
18883
18884     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
18885     void bgColor(VARIANT v);
18886
18887     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
18888     VARIANT bgColor();
18889
18890     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18891     void borderColor(VARIANT v);
18892
18893     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18894     VARIANT borderColor();
18895
18896     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18897     void borderColorLight(VARIANT v);
18898
18899     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18900     VARIANT borderColorLight();
18901
18902     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18903     void borderColorDark(VARIANT v);
18904
18905     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18906     VARIANT borderColorDark();
18907
18908     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
18909     void align(BSTR v);
18910
18911     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
18912     BSTR align();
18913
18914     [id(DISPID_IHTMLTABLE_REFRESH)]
18915     void refresh();
18916
18917     [propget, id(DISPID_IHTMLTABLE_ROWS)]
18918     IHTMLElementCollection *rows();
18919
18920     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
18921     void width(VARIANT v);
18922
18923     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
18924     VARIANT width();
18925
18926     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
18927     void height(VARIANT v);
18928
18929     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
18930     VARIANT height();
18931
18932     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18933     void dataPageSize(long v);
18934
18935     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18936     long dataPageSize();
18937
18938     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
18939     void nextPage();
18940
18941     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
18942     void previousPage();
18943
18944     [propget, id(DISPID_IHTMLTABLE_THEAD)]
18945     IHTMLTableSection *tHead();
18946
18947     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
18948     IHTMLTableSection *tFoot();
18949
18950     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
18951     IHTMLElementCollection *tBodies();
18952
18953     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
18954     IHTMLTableCaption *caption();
18955
18956     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
18957     IDispatch *createTHead();
18958
18959     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
18960     void deleteTHead();
18961
18962     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
18963     IDispatch *createTFoot();
18964
18965     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
18966     void deleteTFoot();
18967
18968     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
18969     IHTMLTableCaption *createCaption();
18970
18971     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
18972     void deleteCaption();
18973
18974     [id(DISPID_IHTMLTABLE_INSERTROW)]
18975     IDispatch *insertRow([in, defaultvalue(-1)] long index);
18976
18977     [id(DISPID_IHTMLTABLE_DELETEROW)]
18978     void deleteRow([in, defaultvalue(-1)] long index);
18979
18980     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
18981     void firstPage();
18982
18983     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
18984     void lastPage();
18985
18986     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
18987     IHTMLElementCollection *cells();
18988
18989     [id(DISPID_IHTMLTABLE2_MOVEROW)]
18990     IDispatch *moveRow(
18991             [in, defaultvalue(-1)] long indexFrom,
18992             [in, defaultvalue(-1)] long indexTo);
18993
18994     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18995     void summary(BSTR v);
18996
18997     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18998     BSTR summary();
18999 }
19000
19001 /*****************************************************************************
19002  *    DispHTMLTableRow dispinterface
19003  */
19004 [
19005     hidden,
19006     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
19007 ]
19008 dispinterface DispHTMLTableRow
19009 {
19010 properties:
19011 methods:
19012     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
19013     void setAttribute(
19014             [in] BSTR strAttributeName,
19015             [in] VARIANT AttributeValue,
19016             [in, defaultvalue(1)] LONG lFlags);
19017
19018     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
19019     VARIANT getAttribute(
19020              [in] BSTR strAttributeName,
19021              [in, defaultvalue(0)] LONG lFlags);
19022
19023     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
19024     VARIANT_BOOL removeAttribute(
19025             [in] BSTR strAttributeName,
19026             [in, defaultvalue(1)] LONG lFlags);
19027
19028     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19029     void className(BSTR v);
19030
19031     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19032     BSTR className();
19033
19034     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
19035     void id(BSTR v);
19036
19037     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
19038     BSTR id();
19039
19040     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
19041     BSTR tagName();
19042
19043     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
19044     IHTMLElement *parentElement();
19045
19046     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
19047     IHTMLStyle *style();
19048
19049     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19050     void onhelp(VARIANT v);
19051
19052     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19053     VARIANT onhelp();
19054
19055     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19056     void onclick(VARIANT v);
19057
19058     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19059     VARIANT onclick();
19060
19061     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19062     void ondblclick(VARIANT v);
19063
19064     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19065     VARIANT ondblclick();
19066
19067     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19068     void onkeydown(VARIANT v);
19069
19070     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19071     VARIANT onkeydown();
19072
19073     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19074     void onkeyup(VARIANT v);
19075
19076     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19077     VARIANT onkeyup();
19078
19079     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19080     void onkeypress(VARIANT v);
19081
19082     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19083     VARIANT onkeypress();
19084
19085     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19086     void onmouseout(VARIANT v);
19087
19088     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19089     VARIANT onmouseout();
19090
19091     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19092     void onmouseover(VARIANT v);
19093
19094     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19095     VARIANT onmouseover();
19096
19097     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19098     void onmousemove(VARIANT v);
19099
19100     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19101     VARIANT onmousemove();
19102
19103     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19104     void onmousedown(VARIANT v);
19105
19106     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19107     VARIANT onmousedown();
19108
19109     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19110     void onmouseup(VARIANT v);
19111
19112     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19113     VARIANT onmouseup();
19114
19115     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
19116     IDispatch *document();
19117
19118     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19119     void title(BSTR v);
19120
19121     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19122     BSTR title();
19123
19124     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19125     void language(BSTR v);
19126
19127     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19128     BSTR language();
19129
19130     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19131     void onselectstart(VARIANT v);
19132
19133     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19134     VARIANT onselectstart();
19135
19136     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
19137     void scrollIntoView([in, optional] VARIANT varargStart);
19138
19139     [id(DISPID_IHTMLELEMENT_CONTAINS)]
19140     VARIANT_BOOL contains([in] IHTMLElement *pChild);
19141
19142     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
19143     long sourceIndex();
19144
19145     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
19146     VARIANT recordNumber();
19147
19148     [propput, id(DISPID_IHTMLELEMENT_LANG)]
19149     void lang(BSTR v);
19150
19151     [propget, id(DISPID_IHTMLELEMENT_LANG)]
19152     BSTR lang();
19153
19154     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
19155     long offsetLeft();
19156
19157     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
19158     long offsetTop();
19159
19160     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
19161     long offsetWidth();
19162
19163     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
19164     long offsetHeight();
19165
19166     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
19167     IHTMLElement *offsetParent();
19168
19169     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
19170     void innerHTML(BSTR v);
19171
19172     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
19173     BSTR innerHTML();
19174
19175     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19176     void innerText(BSTR v);
19177
19178     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19179     BSTR innerText();
19180
19181     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19182     void outerHTML(BSTR v);
19183
19184     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19185     BSTR outerHTML();
19186
19187     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19188     void outerText(BSTR v);
19189
19190     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19191     BSTR outerText();
19192
19193     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
19194     void insertAdjacentHTML(
19195             [in] BSTR where,
19196             [in] BSTR html);
19197
19198     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
19199     void insertAdjacentText(
19200             [in] BSTR where,
19201             [in] BSTR text);
19202
19203     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
19204     IHTMLElement *parentTextEdit();
19205
19206     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
19207     VARIANT_BOOL isTextEdit();
19208
19209     [id(DISPID_IHTMLELEMENT_CLICK)]
19210     void click();
19211
19212     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
19213     IHTMLFiltersCollection *filters();
19214
19215     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19216     void ondragstart(VARIANT v);
19217
19218     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19219     VARIANT ondragstart();
19220
19221     [id(DISPID_IHTMLELEMENT_TOSTRING)]
19222     BSTR toString();
19223
19224     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19225     void onbeforeupdate(VARIANT v);
19226
19227     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19228     VARIANT onbeforeupdate();
19229
19230     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19231     void onafterupdate(VARIANT v);
19232
19233     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19234     VARIANT onafterupdate();
19235
19236     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19237     void onerrorupdate(VARIANT v);
19238
19239     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19240     VARIANT onerrorupdate();
19241
19242     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19243     void onrowexit(VARIANT v);
19244
19245     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19246     VARIANT onrowexit();
19247
19248     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19249     void onrowenter(VARIANT v);
19250
19251     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19252     VARIANT onrowenter();
19253
19254     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19255     void ondatasetchanged(VARIANT v);
19256
19257     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19258     VARIANT ondatasetchanged();
19259
19260     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19261     void ondataavailable(VARIANT v);
19262
19263     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19264     VARIANT ondataavailable();
19265
19266     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19267     void ondatasetcomplete(VARIANT v);
19268
19269     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19270     VARIANT ondatasetcomplete();
19271
19272     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19273     void onfilterchange(VARIANT v);
19274
19275     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19276     VARIANT onfilterchange();
19277
19278     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
19279     IDispatch *children();
19280
19281     [propget, id(DISPID_IHTMLELEMENT_ALL)]
19282     IDispatch *all();
19283
19284     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
19285     BSTR scopeName();
19286
19287     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
19288     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
19289
19290     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
19291     void releaseCapture();
19292
19293     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19294     void onlosecapture(VARIANT v);
19295
19296     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19297     VARIANT onlosecapture();
19298
19299     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
19300     BSTR componentFromPoint(
19301             [in] long x,
19302             [in] long y);
19303
19304     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
19305     void doScroll([in, optional] VARIANT component);
19306
19307     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19308     void onscroll(VARIANT v);
19309
19310     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19311     VARIANT onscroll();
19312
19313     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19314     void ondrag(VARIANT v);
19315
19316     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19317     VARIANT ondrag();
19318
19319     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19320     void ondragend(VARIANT v);
19321
19322     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19323     VARIANT ondragend();
19324
19325     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19326     void ondragenter(VARIANT v);
19327
19328     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19329     VARIANT ondragenter();
19330
19331     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19332     void ondragover(VARIANT v);
19333
19334     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19335     VARIANT ondragover();
19336
19337     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19338     void ondragleave(VARIANT v);
19339
19340     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19341     VARIANT ondragleave();
19342
19343     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19344     void ondrop(VARIANT v);
19345
19346     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19347     VARIANT ondrop();
19348
19349     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19350     void onbeforecut(VARIANT v);
19351
19352     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19353     VARIANT onbeforecut();
19354
19355     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19356     void oncut(VARIANT v);
19357
19358     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19359     VARIANT oncut();
19360
19361     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19362     void onbeforecopy(VARIANT v);
19363
19364     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19365     VARIANT onbeforecopy();
19366
19367     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19368     void oncopy(VARIANT v);
19369
19370     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19371     VARIANT oncopy();
19372
19373     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19374     void onbeforepaste(VARIANT v);
19375
19376     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19377     VARIANT onbeforepaste();
19378
19379     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19380     void onpaste(VARIANT v);
19381
19382     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19383     VARIANT onpaste();
19384
19385     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
19386     IHTMLCurrentStyle *currentStyle();
19387
19388     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19389     void onpropertychange(VARIANT v);
19390
19391     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19392     VARIANT onpropertychange();
19393
19394     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
19395     IHTMLRectCollection *getClientRects();
19396
19397     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
19398     IHTMLRect *getBoundingClientRect();
19399
19400     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
19401     void setExpression(
19402             [in] BSTR propname,
19403             [in] BSTR expression,
19404             [in, defaultvalue("")] BSTR language);
19405
19406     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
19407     VARIANT getExpression([in] BSTR propname);
19408
19409     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
19410     VARIANT_BOOL removeExpression([in] BSTR propname);
19411
19412     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19413     void tabIndex(short v);
19414
19415     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19416     short tabIndex();
19417
19418     [id(DISPID_IHTMLELEMENT2_FOCUS)]
19419     void focus();
19420
19421     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19422     void accessKey(BSTR v);
19423
19424     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19425     BSTR accessKey();
19426
19427     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19428     void onblur(VARIANT v);
19429
19430     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19431     VARIANT onblur();
19432
19433     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19434     void onfocus(VARIANT v);
19435
19436     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19437     VARIANT onfocus();
19438
19439     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19440     void onresize(VARIANT v);
19441
19442     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19443     VARIANT onresize();
19444
19445     [id(DISPID_IHTMLELEMENT2_BLUR)]
19446     void blur();
19447
19448     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
19449     void addFilter([in] IUnknown *pUnk);
19450
19451     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
19452     void removeFilter([in] IUnknown *pUnk);
19453
19454     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
19455     long clientHeight();
19456
19457     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
19458     long clientWidth();
19459
19460     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
19461     long clientTop();
19462
19463     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
19464     long clientLeft();
19465
19466     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
19467     VARIANT_BOOL attachEvent(
19468             [in] BSTR event,
19469             [in] IDispatch *pDisp);
19470
19471     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
19472     void detachEvent(
19473             [in] BSTR event,
19474             [in] IDispatch *pDisp);
19475
19476     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
19477     VARIANT readyState();
19478
19479     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19480     void onreadystatechange(VARIANT v);
19481
19482     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19483     VARIANT onreadystatechange();
19484
19485     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19486     void onrowsdelete(VARIANT v);
19487
19488     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19489     VARIANT onrowsdelete();
19490
19491     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19492     void onrowsinserted(VARIANT v);
19493
19494     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19495      VARIANT onrowsinserted();
19496
19497     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19498      void oncellchange(VARIANT v);
19499
19500     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19501     VARIANT oncellchange();
19502
19503     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19504     void dir(BSTR v);
19505
19506     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19507     BSTR dir();
19508
19509     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
19510     IDispatch *createControlRange();
19511
19512     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
19513     long scrollHeight();
19514
19515     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
19516     long scrollWidth();
19517
19518     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19519     void scrollTop(long v);
19520
19521     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19522     long scrollTop();
19523
19524     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19525     void scrollLeft(long v);
19526
19527     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19528     long scrollLeft();
19529
19530     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
19531     void clearAttributes();
19532
19533     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19534     void oncontextmenu(VARIANT v);
19535
19536     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19537     VARIANT oncontextmenu();
19538
19539     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
19540     IHTMLElement *insertAdjacentElement(
19541             [in] BSTR where,
19542             [in] IHTMLElement *insertedElement);
19543
19544     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
19545     IHTMLElement *applyElement(
19546             [in] IHTMLElement *apply,
19547             [in] BSTR where);
19548
19549     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
19550     BSTR getAdjacentText([in] BSTR where);
19551
19552     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
19553     BSTR replaceAdjacentText(
19554             [in] BSTR where,
19555             [in] BSTR newText);
19556
19557     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
19558     VARIANT_BOOL canHaveChildren();
19559
19560     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
19561     long addBehavior(
19562             [in] BSTR bstrUrl,
19563             [in, optional] VARIANT *pvarFactory);
19564
19565     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
19566     VARIANT_BOOL removeBehavior([in] long cookie);
19567
19568     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
19569     IHTMLStyle *runtimeStyle();
19570
19571     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
19572     IDispatch *behaviorUrns();
19573
19574     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
19575     void tagUrn(BSTR v);
19576
19577     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
19578     BSTR tagUrn();
19579
19580     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19581     void onbeforeeditfocus(VARIANT v);
19582
19583     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19584     VARIANT onbeforeeditfocus();
19585
19586     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
19587     long readyStateValue();
19588
19589     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
19590     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
19591
19592     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
19593     void mergeAttributes(
19594             [in] IHTMLElement *mergeThis,
19595             [in, optional] VARIANT *pvarFlags);
19596
19597     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
19598     VARIANT_BOOL isMultiLine();
19599
19600     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
19601     VARIANT_BOOL canHaveHTML();
19602
19603     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19604     void onlayoutcomplete(VARIANT v);
19605
19606     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19607     VARIANT onlayoutcomplete();
19608
19609     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19610     void onpage(VARIANT v);
19611
19612     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19613     VARIANT onpage();
19614
19615     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19616     void inflateBlock(VARIANT_BOOL v);
19617
19618     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19619     VARIANT_BOOL inflateBlock();
19620
19621     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19622     void onbeforedeactivate(VARIANT v);
19623
19624     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19625     VARIANT onbeforedeactivate();
19626
19627     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
19628     void setActive();
19629
19630     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19631     void contentEditable(BSTR v);
19632
19633     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19634     BSTR contentEditable();
19635
19636     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
19637     VARIANT_BOOL isContentEditable();
19638
19639     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19640     void hideFocus(VARIANT_BOOL v);
19641
19642     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19643     VARIANT_BOOL hideFocus();
19644
19645     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19646     void disabled(VARIANT_BOOL v);
19647
19648     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19649     VARIANT_BOOL disabled();
19650
19651     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
19652     VARIANT_BOOL isDisabled();
19653
19654     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19655     void onmove(VARIANT v);
19656
19657     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19658     VARIANT onmove();
19659
19660     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19661     void oncontrolselect(VARIANT v);
19662
19663     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19664     VARIANT oncontrolselect();
19665
19666     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
19667     VARIANT_BOOL fireEvent(
19668             [in] BSTR bstrEventName,
19669             [in, optional] VARIANT *pvarEventObject);
19670
19671     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19672     void onresizestart(VARIANT v);
19673
19674     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19675     VARIANT onresizestart();
19676
19677     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19678     void onresizeend(VARIANT v);
19679
19680     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19681     VARIANT onresizeend();
19682
19683     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19684     void onmovestart(VARIANT v);
19685
19686     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19687     VARIANT onmovestart();
19688
19689     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19690     void onmoveend(VARIANT v);
19691
19692     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19693     VARIANT onmoveend();
19694
19695     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19696     void onmouseenter(VARIANT v);
19697
19698     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19699     VARIANT onmouseenter();
19700
19701     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19702     void onmouseleave(VARIANT v);
19703
19704     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19705     VARIANT onmouseleave();
19706
19707     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19708     void onactivate(VARIANT v);
19709
19710     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19711     VARIANT onactivate();
19712
19713     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19714     void ondeactivate(VARIANT v);
19715
19716     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19717     VARIANT ondeactivate();
19718
19719     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
19720     VARIANT_BOOL dragDrop();
19721
19722     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
19723     LONG glyphMode();
19724
19725     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19726     void onmousewheel(VARIANT v);
19727
19728     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19729     VARIANT onmousewheel();
19730
19731     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
19732     void normalize();
19733
19734     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
19735     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
19736
19737     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
19738     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
19739
19740     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
19741     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
19742
19743     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19744     void onbeforeactivate(VARIANT v);
19745
19746     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19747     VARIANT onbeforeactivate();
19748
19749     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19750     void onfocusin(VARIANT v);
19751
19752     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19753     VARIANT onfocusin();
19754
19755     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19756     void onfocusout(VARIANT v);
19757
19758     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19759     VARIANT onfocusout();
19760
19761     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
19762     long uniqueNumber();
19763
19764     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
19765     BSTR uniqueID();
19766
19767     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
19768     long nodeType();
19769
19770     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
19771     IHTMLDOMNode *parentNode();
19772
19773     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
19774     VARIANT_BOOL hasChildNodes();
19775
19776     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
19777     IDispatch *childNodes();
19778
19779     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
19780     IDispatch *attributes();
19781
19782     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
19783     IHTMLDOMNode *insertBefore(
19784             [in] IHTMLDOMNode *newChild,
19785             [in, optional] VARIANT refChild);
19786
19787     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
19788     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
19789
19790     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
19791     IHTMLDOMNode *replaceChild(
19792             [in] IHTMLDOMNode *newChild,
19793             [in] IHTMLDOMNode *oldChild);
19794
19795     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
19796     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
19797
19798     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
19799     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
19800
19801     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
19802     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
19803
19804     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
19805     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
19806
19807     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
19808     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
19809
19810     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
19811     BSTR nodeName();
19812
19813     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19814     void nodeValue(VARIANT v);
19815
19816     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19817     VARIANT nodeValue();
19818
19819     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
19820     IHTMLDOMNode *firstChild();
19821
19822     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
19823     IHTMLDOMNode *lastChild();
19824
19825     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
19826     IHTMLDOMNode *previousSibling();
19827
19828     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
19829     IHTMLDOMNode *nextSibling();
19830
19831     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
19832     IDispatch *ownerDocument();
19833
19834     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
19835     void align(BSTR v);
19836
19837     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
19838     BSTR align();
19839
19840     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
19841     void vAlign(BSTR v);
19842
19843     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
19844     BSTR vAlign();
19845
19846     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
19847     void bgColor(VARIANT v);
19848
19849     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
19850     VARIANT bgColor();
19851
19852     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
19853     void borderColor(VARIANT v);
19854
19855     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
19856     VARIANT borderColor();
19857
19858     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
19859     void borderColorLight(VARIANT v);
19860
19861     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
19862     VARIANT borderColorLight();
19863
19864     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
19865     void borderColorDark(VARIANT v);
19866
19867     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
19868     VARIANT borderColorDark();
19869
19870     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
19871     long rowIndex();
19872
19873     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
19874     long sectionRowIndex();
19875
19876     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
19877     IHTMLElementCollection *cells();
19878
19879     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
19880     IDispatch *insertCell([in, defaultvalue(-1)] long index);
19881
19882     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
19883     void deleteCell([in, defaultvalue(-1)] long index);
19884
19885     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
19886     void height(VARIANT v);
19887
19888     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
19889     VARIANT height();
19890
19891     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
19892     void ch(BSTR v);
19893
19894     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
19895     BSTR ch();
19896
19897     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
19898     void chOff(BSTR v);
19899
19900     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
19901     BSTR chOff();
19902 }
19903
19904 /*****************************************************************************
19905  *    IHTMLScriptElement interface
19906  */
19907 [
19908     odl,
19909     oleautomation,
19910     dual,
19911     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
19912 ]
19913 interface IHTMLScriptElement : IDispatch
19914 {
19915     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
19916     HRESULT src([in] BSTR v);
19917
19918     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
19919     HRESULT src([retval, out] BSTR *p);
19920
19921     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
19922     HRESULT htmlFor([in] BSTR v);
19923
19924     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
19925     HRESULT htmlFor([retval, out] BSTR *p);
19926
19927     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
19928     HRESULT event([in] BSTR v);
19929
19930     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
19931     HRESULT event([retval, out] BSTR *p);
19932
19933     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
19934     HRESULT text([in] BSTR v);
19935
19936     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
19937     HRESULT text([retval, out] BSTR *p);
19938
19939     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
19940     HRESULT defer([in] VARIANT_BOOL v);
19941
19942     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
19943     HRESULT defer([retval, out] VARIANT_BOOL *p);
19944
19945     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
19946     HRESULT readyState([retval, out] BSTR *p);
19947
19948     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
19949     HRESULT onerror([in] VARIANT v);
19950
19951     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
19952     HRESULT onerror([retval, out] VARIANT *p);
19953
19954     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
19955     HRESULT type([in] BSTR v);
19956
19957     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
19958     HRESULT type([retval, out] BSTR *p);
19959 }
19960
19961 /*****************************************************************************
19962  *    IHTMLScriptElement2 interface
19963  */
19964 [
19965     odl,
19966     oleautomation,
19967     dual,
19968     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
19969 ]
19970 interface IHTMLScriptElement2 : IDispatch
19971 {
19972     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
19973     HRESULT charset([in] BSTR v);
19974
19975     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
19976     HRESULT charset([retval, out] BSTR *p);
19977 }
19978
19979 /*****************************************************************************
19980  *    IHTMLFrameBase interface
19981  */
19982 [
19983     odl,
19984     oleautomation,
19985     dual,
19986     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
19987 ]
19988 interface IHTMLFrameBase : IDispatch
19989 {
19990     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
19991     HRESULT src([in] BSTR v);
19992
19993     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
19994     HRESULT src([out, retval] BSTR *p);
19995
19996     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
19997     HRESULT name([in] BSTR v);
19998
19999     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
20000     HRESULT name([out, retval] BSTR *p);
20001
20002     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20003     HRESULT border([in] VARIANT v);
20004
20005     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20006     HRESULT border([out, retval] VARIANT *p);
20007
20008     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20009     HRESULT frameBorder([in] BSTR v);
20010
20011     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20012     HRESULT frameBorder([out, retval] BSTR *p);
20013
20014     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20015     HRESULT frameSpacing([in] VARIANT v);
20016
20017     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20018     HRESULT frameSpacing([out, retval] VARIANT *p);
20019
20020     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20021     HRESULT marginWidth([in] VARIANT v);
20022
20023     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20024     HRESULT marginWidth([out, retval] VARIANT *p);
20025
20026     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20027     HRESULT marginHeight([in] VARIANT v);
20028
20029     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20030     HRESULT marginHeight([out, retval] VARIANT *p);
20031
20032     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20033     HRESULT noResize([in] VARIANT_BOOL v);
20034
20035     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20036     HRESULT noResize([out, retval] VARIANT_BOOL *p);
20037
20038     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20039     HRESULT scrolling([in] BSTR v);
20040
20041     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20042     HRESULT scrolling([out, retval] BSTR *p);
20043 }
20044
20045 /*****************************************************************************
20046  *    IHTMLFrameBase2 interface
20047  */
20048 [
20049     odl,
20050     oleautomation,
20051     dual,
20052     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
20053 ]
20054 interface IHTMLFrameBase2 : IDispatch
20055 {
20056     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
20057     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
20058
20059     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20060     HRESULT onload([in] VARIANT v);
20061
20062     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20063     HRESULT onload([retval, out] VARIANT *p);
20064
20065     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
20066     HRESULT onreadystatechange([in] VARIANT v);
20067
20068     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
20069     HRESULT onreadystatechange([retval, out] VARIANT *p);
20070
20071     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
20072     HRESULT readyState([retval, out] BSTR *p);
20073
20074     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20075     HRESULT allowTransparency([in] VARIANT_BOOL v);
20076
20077     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20078     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
20079 }
20080
20081 /*****************************************************************************
20082  *    DispHTMLIFrame dispinterface
20083  */
20084 [
20085     hidden,
20086     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
20087 ]
20088 dispinterface DispHTMLIFrame
20089 {
20090 properties:
20091 methods:
20092     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
20093     void setAttribute(
20094             [in] BSTR strAttributeName,
20095             [in] VARIANT AttributeValue,
20096             [in, defaultvalue(1)] LONG lFlags);
20097
20098     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
20099     VARIANT getAttribute(
20100              [in] BSTR strAttributeName,
20101              [in, defaultvalue(0)] LONG lFlags);
20102
20103     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
20104     VARIANT_BOOL removeAttribute(
20105             [in] BSTR strAttributeName,
20106             [in, defaultvalue(1)] LONG lFlags);
20107
20108     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
20109     void className(BSTR v);
20110
20111     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
20112     BSTR className();
20113
20114     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
20115     void id(BSTR v);
20116
20117     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
20118     BSTR id();
20119
20120     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
20121     BSTR tagName();
20122
20123     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
20124     IHTMLElement *parentElement();
20125
20126     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
20127     IHTMLStyle *style();
20128
20129     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
20130     void onhelp(VARIANT v);
20131
20132     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
20133     VARIANT onhelp();
20134
20135     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
20136     void onclick(VARIANT v);
20137
20138     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
20139     VARIANT onclick();
20140
20141     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
20142     void ondblclick(VARIANT v);
20143
20144     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
20145     VARIANT ondblclick();
20146
20147     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
20148     void onkeydown(VARIANT v);
20149
20150     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
20151     VARIANT onkeydown();
20152
20153     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
20154     void onkeyup(VARIANT v);
20155
20156     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
20157     VARIANT onkeyup();
20158
20159     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
20160     void onkeypress(VARIANT v);
20161
20162     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
20163     VARIANT onkeypress();
20164
20165     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
20166     void onmouseout(VARIANT v);
20167
20168     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
20169     VARIANT onmouseout();
20170
20171     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
20172     void onmouseover(VARIANT v);
20173
20174     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
20175     VARIANT onmouseover();
20176
20177     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
20178     void onmousemove(VARIANT v);
20179
20180     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
20181     VARIANT onmousemove();
20182
20183     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
20184     void onmousedown(VARIANT v);
20185
20186     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
20187     VARIANT onmousedown();
20188
20189     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
20190     void onmouseup(VARIANT v);
20191
20192     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
20193     VARIANT onmouseup();
20194
20195     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
20196     IDispatch *document();
20197
20198     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
20199     void title(BSTR v);
20200
20201     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
20202     BSTR title();
20203
20204     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
20205     void language(BSTR v);
20206
20207     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
20208     BSTR language();
20209
20210     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
20211     void onselectstart(VARIANT v);
20212
20213     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
20214     VARIANT onselectstart();
20215
20216     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
20217     void scrollIntoView([in, optional] VARIANT varargStart);
20218
20219     [id(DISPID_IHTMLELEMENT_CONTAINS)]
20220     VARIANT_BOOL contains([in] IHTMLElement *pChild);
20221
20222     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
20223     long sourceIndex();
20224
20225     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
20226     VARIANT recordNumber();
20227
20228     [propput, id(DISPID_IHTMLELEMENT_LANG)]
20229     void lang(BSTR v);
20230
20231     [propget, id(DISPID_IHTMLELEMENT_LANG)]
20232     BSTR lang();
20233
20234     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
20235     long offsetLeft();
20236
20237     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
20238     long offsetTop();
20239
20240     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
20241     long offsetWidth();
20242
20243     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
20244     long offsetHeight();
20245
20246     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
20247     IHTMLElement *offsetParent();
20248
20249     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
20250     void innerHTML(BSTR v);
20251
20252     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
20253     BSTR innerHTML();
20254
20255     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
20256     void innerText(BSTR v);
20257
20258     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
20259     BSTR innerText();
20260
20261     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
20262     void outerHTML(BSTR v);
20263
20264     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
20265     BSTR outerHTML();
20266
20267     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
20268     void outerText(BSTR v);
20269
20270     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
20271     BSTR outerText();
20272
20273     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
20274     void insertAdjacentHTML(
20275             [in] BSTR where,
20276             [in] BSTR html);
20277
20278     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
20279     void insertAdjacentText(
20280             [in] BSTR where,
20281             [in] BSTR text);
20282
20283     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
20284     IHTMLElement *parentTextEdit();
20285
20286     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
20287     VARIANT_BOOL isTextEdit();
20288
20289     [id(DISPID_IHTMLELEMENT_CLICK)]
20290     void click();
20291
20292     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
20293     IHTMLFiltersCollection *filters();
20294
20295     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
20296     void ondragstart(VARIANT v);
20297
20298     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
20299     VARIANT ondragstart();
20300
20301     [id(DISPID_IHTMLELEMENT_TOSTRING)]
20302     BSTR toString();
20303
20304     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
20305     void onbeforeupdate(VARIANT v);
20306
20307     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
20308     VARIANT onbeforeupdate();
20309
20310     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
20311     void onafterupdate(VARIANT v);
20312
20313     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
20314     VARIANT onafterupdate();
20315
20316     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
20317     void onerrorupdate(VARIANT v);
20318
20319     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
20320     VARIANT onerrorupdate();
20321
20322     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
20323     void onrowexit(VARIANT v);
20324
20325     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
20326     VARIANT onrowexit();
20327
20328     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
20329     void onrowenter(VARIANT v);
20330
20331     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
20332     VARIANT onrowenter();
20333
20334     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
20335     void ondatasetchanged(VARIANT v);
20336
20337     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
20338     VARIANT ondatasetchanged();
20339
20340     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
20341     void ondataavailable(VARIANT v);
20342
20343     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
20344     VARIANT ondataavailable();
20345
20346     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
20347     void ondatasetcomplete(VARIANT v);
20348
20349     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
20350     VARIANT ondatasetcomplete();
20351
20352     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
20353     void onfilterchange(VARIANT v);
20354
20355     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
20356     VARIANT onfilterchange();
20357
20358     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
20359     IDispatch *children();
20360
20361     [propget, id(DISPID_IHTMLELEMENT_ALL)]
20362     IDispatch *all();
20363
20364     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
20365     BSTR scopeName();
20366
20367     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
20368     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
20369
20370     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
20371     void releaseCapture();
20372
20373     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
20374     void onlosecapture(VARIANT v);
20375
20376     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
20377     VARIANT onlosecapture();
20378
20379     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
20380     BSTR componentFromPoint(
20381             [in] long x,
20382             [in] long y);
20383
20384     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
20385     void doScroll([in, optional] VARIANT component);
20386
20387     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
20388     void onscroll(VARIANT v);
20389
20390     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
20391     VARIANT onscroll();
20392
20393     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
20394     void ondrag(VARIANT v);
20395
20396     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
20397     VARIANT ondrag();
20398
20399     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
20400     void ondragend(VARIANT v);
20401
20402     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
20403     VARIANT ondragend();
20404
20405     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
20406     void ondragenter(VARIANT v);
20407
20408     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
20409     VARIANT ondragenter();
20410
20411     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
20412     void ondragover(VARIANT v);
20413
20414     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
20415     VARIANT ondragover();
20416
20417     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
20418     void ondragleave(VARIANT v);
20419
20420     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
20421     VARIANT ondragleave();
20422
20423     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
20424     void ondrop(VARIANT v);
20425
20426     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
20427     VARIANT ondrop();
20428
20429     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
20430     void onbeforecut(VARIANT v);
20431
20432     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
20433     VARIANT onbeforecut();
20434
20435     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
20436     void oncut(VARIANT v);
20437
20438     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
20439     VARIANT oncut();
20440
20441     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
20442     void onbeforecopy(VARIANT v);
20443
20444     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
20445     VARIANT onbeforecopy();
20446
20447     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
20448     void oncopy(VARIANT v);
20449
20450     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
20451     VARIANT oncopy();
20452
20453     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
20454     void onbeforepaste(VARIANT v);
20455
20456     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
20457     VARIANT onbeforepaste();
20458
20459     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
20460     void onpaste(VARIANT v);
20461
20462     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
20463     VARIANT onpaste();
20464
20465     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
20466     IHTMLCurrentStyle *currentStyle();
20467
20468     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
20469     void onpropertychange(VARIANT v);
20470
20471     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
20472     VARIANT onpropertychange();
20473
20474     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
20475     IHTMLRectCollection *getClientRects();
20476
20477     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
20478     IHTMLRect *getBoundingClientRect();
20479
20480     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
20481     void setExpression(
20482             [in] BSTR propname,
20483             [in] BSTR expression,
20484             [in, defaultvalue("")] BSTR language);
20485
20486     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
20487     VARIANT getExpression([in] BSTR propname);
20488
20489     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
20490     VARIANT_BOOL removeExpression([in] BSTR propname);
20491
20492     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
20493     void tabIndex(short v);
20494
20495     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
20496     short tabIndex();
20497
20498     [id(DISPID_IHTMLELEMENT2_FOCUS)]
20499     void focus();
20500
20501     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
20502     void accessKey(BSTR v);
20503
20504     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
20505     BSTR accessKey();
20506
20507     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
20508     void onblur(VARIANT v);
20509
20510     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
20511     VARIANT onblur();
20512
20513     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
20514     void onfocus(VARIANT v);
20515
20516     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
20517     VARIANT onfocus();
20518
20519     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
20520     void onresize(VARIANT v);
20521
20522     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
20523     VARIANT onresize();
20524
20525     [id(DISPID_IHTMLELEMENT2_BLUR)]
20526     void blur();
20527
20528     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
20529     void addFilter([in] IUnknown *pUnk);
20530
20531     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
20532     void removeFilter([in] IUnknown *pUnk);
20533
20534     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
20535     long clientHeight();
20536
20537     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
20538     long clientWidth();
20539
20540     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
20541     long clientTop();
20542
20543     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
20544     long clientLeft();
20545
20546     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
20547     VARIANT_BOOL attachEvent(
20548             [in] BSTR event,
20549             [in] IDispatch *pDisp);
20550
20551     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
20552     void detachEvent(
20553             [in] BSTR event,
20554             [in] IDispatch *pDisp);
20555
20556     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
20557     VARIANT readyState();
20558
20559     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
20560     void onreadystatechange(VARIANT v);
20561
20562     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
20563     VARIANT onreadystatechange();
20564
20565     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
20566     void onrowsdelete(VARIANT v);
20567
20568     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
20569     VARIANT onrowsdelete();
20570
20571     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
20572     void onrowsinserted(VARIANT v);
20573
20574     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
20575      VARIANT onrowsinserted();
20576
20577     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
20578      void oncellchange(VARIANT v);
20579
20580     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
20581     VARIANT oncellchange();
20582
20583     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
20584     void dir(BSTR v);
20585
20586     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
20587     BSTR dir();
20588
20589     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
20590     IDispatch *createControlRange();
20591
20592     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
20593     long scrollHeight();
20594
20595     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
20596     long scrollWidth();
20597
20598     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
20599     void scrollTop(long v);
20600
20601     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
20602     long scrollTop();
20603
20604     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
20605     void scrollLeft(long v);
20606
20607     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
20608     long scrollLeft();
20609
20610     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
20611     void clearAttributes();
20612
20613     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
20614     void oncontextmenu(VARIANT v);
20615
20616     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
20617     VARIANT oncontextmenu();
20618
20619     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
20620     IHTMLElement *insertAdjacentElement(
20621             [in] BSTR where,
20622             [in] IHTMLElement *insertedElement);
20623
20624     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
20625     IHTMLElement *applyElement(
20626             [in] IHTMLElement *apply,
20627             [in] BSTR where);
20628
20629     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
20630     BSTR getAdjacentText([in] BSTR where);
20631
20632     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
20633     BSTR replaceAdjacentText(
20634             [in] BSTR where,
20635             [in] BSTR newText);
20636
20637     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
20638     VARIANT_BOOL canHaveChildren();
20639
20640     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
20641     long addBehavior(
20642             [in] BSTR bstrUrl,
20643             [in, optional] VARIANT *pvarFactory);
20644
20645     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
20646     VARIANT_BOOL removeBehavior([in] long cookie);
20647
20648     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
20649     IHTMLStyle *runtimeStyle();
20650
20651     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
20652     IDispatch *behaviorUrns();
20653
20654     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
20655     void tagUrn(BSTR v);
20656
20657     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
20658     BSTR tagUrn();
20659
20660     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
20661     void onbeforeeditfocus(VARIANT v);
20662
20663     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
20664     VARIANT onbeforeeditfocus();
20665
20666     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
20667     long readyStateValue();
20668
20669     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
20670     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
20671
20672     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
20673     void mergeAttributes(
20674             [in] IHTMLElement *mergeThis,
20675             [in, optional] VARIANT *pvarFlags);
20676
20677     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
20678     VARIANT_BOOL isMultiLine();
20679
20680     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
20681     VARIANT_BOOL canHaveHTML();
20682
20683     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20684     void onlayoutcomplete(VARIANT v);
20685
20686     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20687     VARIANT onlayoutcomplete();
20688
20689     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20690     void onpage(VARIANT v);
20691
20692     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20693     VARIANT onpage();
20694
20695     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20696     void inflateBlock(VARIANT_BOOL v);
20697
20698     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20699     VARIANT_BOOL inflateBlock();
20700
20701     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20702     void onbeforedeactivate(VARIANT v);
20703
20704     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20705     VARIANT onbeforedeactivate();
20706
20707     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
20708     void setActive();
20709
20710     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20711     void contentEditable(BSTR v);
20712
20713     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20714     BSTR contentEditable();
20715
20716     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
20717     VARIANT_BOOL isContentEditable();
20718
20719     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
20720     void hideFocus(VARIANT_BOOL v);
20721
20722     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
20723     VARIANT_BOOL hideFocus();
20724
20725     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
20726     void disabled(VARIANT_BOOL v);
20727
20728     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
20729     VARIANT_BOOL disabled();
20730
20731     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
20732     VARIANT_BOOL isDisabled();
20733
20734     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
20735     void onmove(VARIANT v);
20736
20737     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
20738     VARIANT onmove();
20739
20740     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
20741     void oncontrolselect(VARIANT v);
20742
20743     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
20744     VARIANT oncontrolselect();
20745
20746     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
20747     VARIANT_BOOL fireEvent(
20748             [in] BSTR bstrEventName,
20749             [in, optional] VARIANT *pvarEventObject);
20750
20751     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
20752     void onresizestart(VARIANT v);
20753
20754     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
20755     VARIANT onresizestart();
20756
20757     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
20758     void onresizeend(VARIANT v);
20759
20760     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
20761     VARIANT onresizeend();
20762
20763     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
20764     void onmovestart(VARIANT v);
20765
20766     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
20767     VARIANT onmovestart();
20768
20769     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
20770     void onmoveend(VARIANT v);
20771
20772     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
20773     VARIANT onmoveend();
20774
20775     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
20776     void onmouseenter(VARIANT v);
20777
20778     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
20779     VARIANT onmouseenter();
20780
20781     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
20782     void onmouseleave(VARIANT v);
20783
20784     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
20785     VARIANT onmouseleave();
20786
20787     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
20788     void onactivate(VARIANT v);
20789
20790     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
20791     VARIANT onactivate();
20792
20793     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20794     void ondeactivate(VARIANT v);
20795
20796     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20797     VARIANT ondeactivate();
20798
20799     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
20800     VARIANT_BOOL dragDrop();
20801
20802     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
20803     LONG glyphMode();
20804
20805     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20806     void onmousewheel(VARIANT v);
20807
20808     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20809     VARIANT onmousewheel();
20810
20811     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
20812     void normalize();
20813
20814     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
20815     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
20816
20817     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
20818     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
20819
20820     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
20821     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
20822
20823     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20824     void onbeforeactivate(VARIANT v);
20825
20826     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20827     VARIANT onbeforeactivate();
20828
20829     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20830     void onfocusin(VARIANT v);
20831
20832     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20833     VARIANT onfocusin();
20834
20835     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20836     void onfocusout(VARIANT v);
20837
20838     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20839     VARIANT onfocusout();
20840
20841     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
20842     long uniqueNumber();
20843
20844     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
20845     BSTR uniqueID();
20846
20847     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
20848     long nodeType();
20849
20850     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
20851     IHTMLDOMNode *parentNode();
20852
20853     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
20854     VARIANT_BOOL hasChildNodes();
20855
20856     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
20857     IDispatch *childNodes();
20858
20859     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
20860     IDispatch *attributes();
20861
20862     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
20863     IHTMLDOMNode *insertBefore(
20864             [in] IHTMLDOMNode *newChild,
20865             [in, optional] VARIANT refChild);
20866
20867     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
20868     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
20869
20870     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
20871     IHTMLDOMNode *replaceChild(
20872             [in] IHTMLDOMNode *newChild,
20873             [in] IHTMLDOMNode *oldChild);
20874
20875     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
20876     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
20877
20878     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
20879     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
20880
20881     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
20882     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
20883
20884     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
20885     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
20886
20887     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
20888     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
20889
20890     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
20891     BSTR nodeName();
20892
20893     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20894     void nodeValue(VARIANT v);
20895
20896     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20897     VARIANT nodeValue();
20898
20899     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
20900     IHTMLDOMNode *firstChild();
20901
20902     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
20903     IHTMLDOMNode *lastChild();
20904
20905     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
20906     IHTMLDOMNode *previousSibling();
20907
20908     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
20909     IHTMLDOMNode *nextSibling();
20910
20911     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
20912     IDispatch *ownerDocument();
20913
20914     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
20915     void dataFld(BSTR v);
20916
20917     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
20918     BSTR dataFld();
20919
20920     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
20921     void dataSrc(BSTR v);
20922
20923     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
20924     BSTR dataSrc();
20925
20926     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
20927     void dataFormatAs(BSTR v);
20928
20929     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
20930     BSTR dataFormatAs();
20931
20932     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
20933     void src(BSTR v);
20934
20935     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
20936     BSTR src();
20937
20938     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
20939     void name(BSTR v);
20940
20941     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
20942     BSTR name();
20943
20944     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20945     void border(VARIANT v);
20946
20947     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20948     VARIANT border();
20949
20950     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20951     void frameBorder(BSTR v);
20952
20953     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20954     BSTR frameBorder();
20955
20956     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20957     void frameSpacing(VARIANT v);
20958
20959     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20960     VARIANT frameSpacing();
20961
20962     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20963     void marginWidth(VARIANT v);
20964
20965     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20966     VARIANT marginWidth();
20967
20968     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20969     void marginHeight(VARIANT v);
20970
20971     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20972     VARIANT marginHeight();
20973
20974     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20975     void noResize(VARIANT_BOOL v);
20976
20977     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20978     VARIANT_BOOL noResize();
20979
20980     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20981     void scrolling(BSTR v);
20982
20983     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20984     BSTR scrolling();
20985
20986     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
20987     IHTMLWindow2 *contentWindow();
20988
20989     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20990     void onload(VARIANT v);
20991
20992     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20993     VARIANT onload();
20994
20995     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20996     void allowTransparency(VARIANT_BOOL v);
20997
20998     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20999     VARIANT_BOOL allowTransparency();
21000
21001     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
21002     void longDesc(BSTR v);
21003
21004     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
21005     BSTR longDesc();
21006
21007     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
21008     void vspace(long v);
21009
21010     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
21011     long vspace();
21012
21013     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
21014     void hspace(long v);
21015
21016     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
21017     long hspace();
21018
21019     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
21020     void align(BSTR v);
21021
21022     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
21023     BSTR align();
21024
21025     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
21026     void height(VARIANT v);
21027
21028     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
21029     VARIANT height();
21030
21031     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
21032     void width(VARIANT v);
21033
21034     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
21035     VARIANT width();
21036 }
21037
21038 /*****************************************************************************
21039  *    IMarkupContainer interface
21040  */
21041 [
21042     object,
21043     pointer_default(unique),
21044     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
21045 ]
21046 interface IMarkupContainer : IUnknown
21047 {
21048     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
21049 }
21050
21051 /*****************************************************************************
21052  *    IMarkupPointer interface
21053  */
21054 [
21055     object,
21056     pointer_default(unique),
21057     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
21058 ]
21059 interface IMarkupPointer : IUnknown
21060 {
21061     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
21062
21063     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
21064
21065     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
21066
21067     HRESULT Cling([out] BOOL *pfCling);
21068
21069     HRESULT SetCling([in] BOOL fCLing);
21070
21071     HRESULT UnPosition();
21072
21073     HRESULT IsPositioned([out] BOOL *pfPositioned);
21074
21075     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
21076
21077     HRESULT MoveAdjacentToElement(
21078         [in] IHTMLElement *pElement,
21079         [in] ELEMENT_ADJACENCY eAdj);
21080
21081     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
21082
21083     HRESULT MoveToContainer(
21084         [in] IMarkupContainer *pContainer,
21085         [in] BOOL fAtStart);
21086
21087     HRESULT Left(
21088         [in] BOOL fMove,
21089         [out] MARKUP_CONTEXT_TYPE *pContext,
21090         [out] IHTMLElement **ppElement,
21091         [in, out] long *pcch,
21092         [out, size_is(*pcch)] OLECHAR *pchText);
21093
21094     HRESULT Right(
21095         [in] BOOL fMove,
21096         [out] MARKUP_CONTEXT_TYPE *pContext,
21097         [out] IHTMLElement **ppElement,
21098         [in, out] long *pcch,
21099         [out, size_is(*pcch)] OLECHAR *pchText);
21100
21101     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
21102
21103     HRESULT IsLeftOf(
21104         [in] IMarkupPointer *pPointerThat,
21105         [out] BOOL *pfResult);
21106
21107     HRESULT IsLeftOfOrEqualTo(
21108         [in] IMarkupPointer *pPointerThat,
21109         [out] BOOL *pfResult);
21110
21111     HRESULT IsRightOf(
21112         [in] IMarkupPointer *pPointerThat,
21113         [out] BOOL *pfResult);
21114
21115     HRESULT IsRightOfOrEqualTo(
21116         [in] IMarkupPointer *pPointerThat,
21117         [out] BOOL *pfResult);
21118
21119     HRESULT IsEqualTo(
21120         [in] IMarkupPointer *pPointerThat,
21121         [out] BOOL *pfAreEqual);
21122
21123     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
21124
21125     HRESULT FindText(
21126         [in] OLECHAR *pchFindText,
21127         [in] DWORD dwFlags,
21128         [in] IMarkupPointer *pIEndMatch,
21129         [in] IMarkupPointer *pIEndSearch);
21130 }
21131
21132 /*****************************************************************************
21133  *    ISegment interface
21134  */
21135 [
21136     object,
21137     pointer_default(unique),
21138     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
21139 ]
21140 interface ISegment : IUnknown
21141 {
21142     HRESULT GetPointers(
21143         [in] IMarkupPointer *pIStart,
21144         [in] IMarkupPointer *pIEnd);
21145 }
21146
21147 /*****************************************************************************
21148  *    IElementSegment interface
21149  */
21150 [
21151     object,
21152     pointer_default(unique),
21153     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
21154 ]
21155 interface IElementSegment : ISegment
21156 {
21157     HRESULT GetElement([out] IHTMLElement **ppIElement);
21158
21159     HRESULT SetPrimary([in] BOOL fPrimary);
21160
21161     HRESULT IsPrimary([out] BOOL *pfPrimary);
21162 }
21163
21164 /*****************************************************************************
21165  *    ISelectionServicesListener interface
21166  */
21167 [
21168     object,
21169     pointer_default(unique),
21170     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
21171 ]
21172 interface ISelectionServicesListener : IUnknown
21173 {
21174     HRESULT BeginSelectionUndo();
21175
21176     HRESULT EndSelectionUndo();
21177
21178     HRESULT OnSelectedElementExit(
21179         [in] IMarkupPointer *pIElementStart,
21180         [in] IMarkupPointer *pIElementEnd,
21181         [in] IMarkupPointer *pIElementContentStart,
21182         [in] IMarkupPointer *pIElementContentEnd);
21183
21184     HRESULT OnChangeType(
21185         [in] SELECTION_TYPE eType,
21186         [in] ISelectionServicesListener *pIListener);
21187
21188     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
21189 }
21190
21191 /*****************************************************************************
21192  *    ISelectionServices interface
21193  */
21194 [
21195     object,
21196     pointer_default(unique),
21197     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
21198 ]
21199 interface ISelectionServices : IUnknown
21200 {
21201     HRESULT SetSelectionType(
21202         [in] SELECTION_TYPE eType,
21203         [in] ISelectionServicesListener *pIListener);
21204
21205     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
21206
21207     HRESULT AddSegment(
21208         [in] IMarkupPointer *pIStart,
21209         [in] IMarkupPointer *pIEnd,
21210         [out] ISegment **ppISegmentAdded);
21211
21212     HRESULT AddElementSegment(
21213         [in] IHTMLElement *pIElement,
21214         [out] IElementSegment **ppISegmentAdded);
21215
21216     HRESULT RemoveSegment([in] ISegment *pISegment);
21217
21218     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
21219 }
21220
21221 /*****************************************************************************
21222  *    IHTMLEditDesigner interface
21223  */
21224 [
21225     object,
21226     pointer_default(unique),
21227     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
21228 ]
21229 interface IHTMLEditDesigner : IUnknown
21230 {
21231     HRESULT PreHandleEvent(
21232         [in] DISPID inEvtDispId,
21233         [in] IHTMLEventObj *pIEventObj);
21234
21235     HRESULT PostHandleEvent(
21236         [in] DISPID inEvtDispId,
21237         [in] IHTMLEventObj *pIEventObj);
21238
21239     HRESULT TranslateAccelerator(
21240         [in] DISPID inEvtDispId,
21241         [in] IHTMLEventObj *pIEventObj);
21242
21243     HRESULT PostEditorEventNotify(
21244         [in] DISPID inEvtDispId,
21245         [in] IHTMLEventObj *pIEventObj);
21246 }
21247
21248 /*****************************************************************************
21249  *    IHTMLEditServices interface
21250  */
21251 [
21252     object,
21253     pointer_default(unique),
21254     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
21255 ]
21256 interface IHTMLEditServices : IUnknown
21257 {
21258     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
21259
21260     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
21261
21262     HRESULT GetSelectionServices(
21263         [in] IMarkupContainer *pIContainer,
21264         [out] ISelectionServices **ppSelSvc);
21265
21266     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
21267
21268     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
21269
21270     HRESULT SelectRange(
21271         [in] IMarkupPointer* pStart,
21272         [in] IMarkupPointer* pEnd,
21273         [in] SELECTION_TYPE eType);
21274 }
21275
21276 } /* library MSHTML */