include: Added definition of the DispHTMLWindowProxy interface.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2007 Jacek Caban for CodeWeavers
3  * Copyright 2008      Konstantin Kondratyuk (Etersoft)
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19
20 #include <mshtmdid.h>
21 #include <mshtmcid.h>
22 #include <olectl.h>
23
24 import "ocidl.idl";
25 import "dimm.idl";
26 import "shtypes.idl";
27
28 cpp_quote("#include <olectl.h>")
29
30 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
31 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
33 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
34 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
35
36 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
37 cpp_quote("#undef FindText")
38 cpp_quote("#endif")
39
40 typedef enum {
41     POINTER_GRAVITY_Left,
42     POINTER_GRAVITY_Right,
43     POINTER_GRAVITY_Max = 2147483647
44 } POINTER_GRAVITY;
45
46 typedef enum {
47     CONTEXT_TYPE_None,
48     CONTEXT_TYPE_Text,
49     CONTEXT_TYPE_EnterScope,
50     CONTEXT_TYPE_ExitScope,
51     CONTEXT_TYPE_NoScope,
52     MARKUP_CONTEXT_TYPE_Max = 2147483647
53 } MARKUP_CONTEXT_TYPE;
54
55 typedef enum {
56     ELEM_ADJ_BeforeBegin,
57     ELEM_ADJ_AfterBegin,
58     ELEM_ADJ_BeforeEnd,
59     ELEM_ADJ_AfterEnd,
60     ELEMENT_ADJACENCY_Max = 2147483647
61 } ELEMENT_ADJACENCY;
62
63 typedef enum {
64     MOVEUNIT_PREVCHAR,
65     MOVEUNIT_NEXTCHAR,
66     MOVEUNIT_PREVCLUSTERBEG,
67     MOVEUNIT_NEXTCLUSTERBEG,
68     MOVEUNIT_PREVCLUSTEREND,
69     MOVEUNIT_NEXTCLUSTEREND,
70     MOVEUNIT_PREVWORDBEG,
71     MOVEUNIT_NEXTWORDBEG,
72     MOVEUNIT_PREVWORDEND,
73     MOVEUNIT_NEXTWORDEND,
74     MOVEUNIT_PREVPROOFWORD,
75     MOVEUNIT_NEXTPROOFWORD,
76     MOVEUNIT_NEXTURLBEG,
77     MOVEUNIT_PREVURLBEG,
78     MOVEUNIT_NEXTURLEND,
79     MOVEUNIT_PREVURLEND,
80     MOVEUNIT_PREVSENTENCE,
81     MOVEUNIT_NEXTSENTENCE,
82     MOVEUNIT_PREVBLOCK,
83     MOVEUNIT_NEXTBLOCK,
84     MOVEUNIT_ACTION_Max = 2147483647
85 } MOVEUNIT_ACTION;
86
87 typedef enum _SELECTION_TYPE {
88     SELECTION_TYPE_None,
89     SELECTION_TYPE_Caret,
90     SELECTION_TYPE_Text,
91     SELECTION_TYPE_Control,
92     SELECTION_TYPE_Max = 2147483647
93 } SELECTION_TYPE;
94
95 interface IHTMLDocument2;
96 interface IHTMLStyleSheetsCollection;
97 interface IHTMLFrameBase;
98
99 /*****************************************************************************
100  *    IHTMLFiltersCollection interface
101  */
102 [
103     odl,
104     oleautomation,
105     dual,
106     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
107 ]
108 interface IHTMLFiltersCollection : IDispatch
109 {
110     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
111     HRESULT length([retval, out] LONG *p);
112
113     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
114     HRESULT _newEnum([retval, out] IUnknown **p);
115
116     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
117     HRESULT item(
118         [in] VARIANT *pvarIndex,
119         [retval, out] VARIANT *pvarResult);
120 }
121
122 [
123     version(4.0),
124     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
125 ]
126 library MSHTML
127 {
128
129 importlib("stdole2.tlb");
130
131 /*****************************************************************************
132  *    IHTMLStyle interface
133  */
134 [
135     odl,
136     oleautomation,
137     dual,
138     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
139 ]
140 interface IHTMLStyle : IDispatch
141 {
142     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
143     HRESULT fontFamily([in] BSTR v);
144
145     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
146     HRESULT fontFamily([retval, out] BSTR *p);
147
148     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
149     HRESULT fontStyle([in] BSTR v);
150
151     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
152     HRESULT fontStyle([retval, out] BSTR *p);
153
154     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
155     HRESULT fontVariant([in] BSTR v);
156
157     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
158     HRESULT fontVariant([retval, out] BSTR *p);
159
160     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
161     HRESULT fontWeight([in] BSTR v);
162
163     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
164     HRESULT fontWeight([retval, out] BSTR *p);
165
166     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
167     HRESULT fontSize([in] VARIANT v);
168
169     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
170     HRESULT fontSize([retval, out] VARIANT *p);
171
172     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
173     HRESULT font([in] BSTR v);
174
175     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
176     HRESULT font([retval, out] BSTR *p);
177
178     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
179     HRESULT color([in] VARIANT v);
180
181     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
182     HRESULT color([retval, out] VARIANT *p);
183
184     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
185     HRESULT background([in] BSTR v);
186
187     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
188     HRESULT background([retval, out] BSTR *p);
189
190     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
191     HRESULT backgroundColor([in] VARIANT v);
192
193     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
194     HRESULT backgroundColor([retval, out] VARIANT *p);
195
196     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
197     HRESULT backgroundImage([in] BSTR v);
198
199     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
200     HRESULT backgroundImage([retval, out] BSTR *p);
201
202     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
203     HRESULT backgroundRepeat([in] BSTR v);
204
205     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
206     HRESULT backgroundRepeat([retval, out] BSTR *p);
207
208     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
209     HRESULT backgroundAttachment([in] BSTR v);
210
211     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
212     HRESULT backgroundAttachment([retval, out] BSTR *p);
213
214     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
215     HRESULT backgroundPosition([in] BSTR v);
216
217     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
218     HRESULT backgroundPosition([retval, out] BSTR *p);
219
220     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
221     HRESULT backgroundPositionX([in] VARIANT v);
222
223     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
224     HRESULT backgroundPositionX([retval, out] VARIANT *p);
225
226     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
227     HRESULT backgroundPositionY([in] VARIANT v);
228
229     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
230     HRESULT backgroundPositionY([retval, out] VARIANT *p);
231
232     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
233     HRESULT wordSpacing([in] VARIANT v);
234
235     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
236     HRESULT wordSpacing([retval, out] VARIANT *p);
237
238     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
239     HRESULT letterSpacing([in] VARIANT v);
240
241     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
242     HRESULT letterSpacing([retval, out] VARIANT *p);
243
244     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
245     HRESULT textDecoration([in] BSTR v);
246
247     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
248     HRESULT textDecoration([retval, out] BSTR *p);
249
250     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
251     HRESULT textDecorationNone([in] VARIANT_BOOL v);
252
253     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
254     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
255
256     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
257     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
258
259     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
260     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
261
262     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
263     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
264
265     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
266     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
267
268     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
269     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
270
271     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
272     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
273
274     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
275     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
276
277     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
278     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
279
280     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
281     HRESULT verticalAlign([in] VARIANT v);
282
283     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
284     HRESULT verticalAlign([retval, out] VARIANT *p);
285
286     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
287     HRESULT textTransform([in] BSTR v);
288
289     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
290     HRESULT textTransform([retval, out] BSTR *p);
291
292     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
293     HRESULT textAlign([in] BSTR v);
294
295     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
296     HRESULT textAlign([retval, out] BSTR *p);
297
298     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
299     HRESULT textIndent([in] VARIANT v);
300
301     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
302     HRESULT textIndent([retval, out] VARIANT *p);
303
304     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
305     HRESULT lineHeight([in] VARIANT v);
306
307     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
308     HRESULT lineHeight([retval, out] VARIANT *p);
309
310     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
311     HRESULT marginTop([in] VARIANT v);
312
313     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
314     HRESULT marginTop([retval, out] VARIANT *p);
315
316     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
317     HRESULT marginRight([in] VARIANT v);
318
319     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
320     HRESULT marginRight([retval, out] VARIANT *p);
321
322     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
323     HRESULT marginBottom([in] VARIANT v);
324
325     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
326     HRESULT marginBottom([retval, out] VARIANT *p);
327
328     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
329     HRESULT marginLeft([in] VARIANT v);
330
331     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
332     HRESULT marginLeft([retval, out] VARIANT *p);
333
334     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
335     HRESULT margin([in] BSTR v);
336
337     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
338     HRESULT margin([retval, out] BSTR *p);
339
340     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
341     HRESULT paddingTop([in] VARIANT v);
342
343     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
344     HRESULT paddingTop([retval, out] VARIANT *p);
345
346     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
347     HRESULT paddingRight([in] VARIANT v);
348
349     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
350     HRESULT paddingRight([retval, out] VARIANT *p);
351
352     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
353     HRESULT paddingBottom([in] VARIANT v);
354
355     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
356     HRESULT paddingBottom([retval, out] VARIANT *p);
357
358     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
359     HRESULT paddingLeft([in] VARIANT v);
360
361     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
362     HRESULT paddingLeft([retval, out] VARIANT *p);
363
364     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
365     HRESULT padding([in] BSTR v);
366
367     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
368     HRESULT padding([retval, out] BSTR *p);
369
370     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
371     HRESULT border([in] BSTR v);
372
373     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
374     HRESULT border([retval, out] BSTR *p);
375
376     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
377     HRESULT borderTop([in] BSTR v);
378
379     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
380     HRESULT borderTop([retval, out] BSTR *p);
381
382     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
383     HRESULT borderRight([in] BSTR v);
384
385     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
386     HRESULT borderRight([retval, out] BSTR *p);
387
388     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
389     HRESULT borderBottom([in] BSTR v);
390
391     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
392     HRESULT borderBottom([retval, out] BSTR *p);
393
394     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
395     HRESULT borderLeft([in] BSTR v);
396
397     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
398     HRESULT borderLeft([retval, out] BSTR *p);
399
400     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
401     HRESULT borderColor([in] BSTR v);
402
403     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
404     HRESULT borderColor([retval, out] BSTR *p);
405
406     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
407     HRESULT borderTopColor([in] VARIANT v);
408
409     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
410     HRESULT borderTopColor([retval, out] VARIANT *p);
411
412     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
413     HRESULT borderRightColor([in] VARIANT v);
414
415     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
416     HRESULT borderRightColor([retval, out] VARIANT *p);
417
418     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
419     HRESULT borderBottomColor([in] VARIANT v);
420
421     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
422     HRESULT borderBottomColor([retval, out] VARIANT *p);
423
424     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
425     HRESULT borderLeftColor([in] VARIANT v);
426
427     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
428     HRESULT borderLeftColor([retval, out] VARIANT *p);
429
430     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
431     HRESULT borderWidth([in] BSTR v);
432
433     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
434     HRESULT borderWidth([retval, out] BSTR *p);
435
436     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
437     HRESULT borderTopWidth([in] VARIANT v);
438
439     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
440     HRESULT borderTopWidth([retval, out] VARIANT *p);
441
442     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
443     HRESULT borderRightWidth([in] VARIANT v);
444
445     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
446     HRESULT borderRightWidth([retval, out] VARIANT *p);
447
448     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
449     HRESULT borderBottomWidth([in] VARIANT v);
450
451     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
452     HRESULT borderBottomWidth([retval, out] VARIANT *p);
453
454     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
455     HRESULT borderLeftWidth([in] VARIANT v);
456
457     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
458     HRESULT borderLeftWidth([retval, out] VARIANT *p);
459
460     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
461     HRESULT borderStyle([in] BSTR v);
462
463     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
464     HRESULT borderStyle([retval, out] BSTR *p);
465
466     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
467     HRESULT borderTopStyle([in] BSTR v);
468
469     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
470     HRESULT borderTopStyle([retval, out] BSTR *p);
471
472     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
473     HRESULT borderRightStyle([in] BSTR v);
474
475     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
476     HRESULT borderRightStyle([retval, out] BSTR *p);
477
478     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
479     HRESULT borderBottomStyle([in] BSTR v);
480
481     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
482     HRESULT borderBottomStyle([retval, out] BSTR *p);
483
484     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
485     HRESULT borderLeftStyle([in] BSTR v);
486
487     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
488     HRESULT borderLeftStyle([retval, out] BSTR *p);
489
490     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
491     HRESULT width([in] VARIANT v);
492
493     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
494     HRESULT width([retval, out] VARIANT *p);
495
496     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
497     HRESULT height([in] VARIANT v);
498
499     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
500     HRESULT height([retval, out] VARIANT *p);
501
502     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
503     HRESULT styleFloat([in] BSTR v);
504
505     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
506     HRESULT styleFloat([retval, out] BSTR *p);
507
508     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
509     HRESULT clear([in] BSTR v);
510
511     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
512     HRESULT clear([retval, out] BSTR *p);
513
514     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
515     HRESULT display([in] BSTR v);
516
517     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
518     HRESULT display([retval, out] BSTR *p);
519
520     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
521     HRESULT visibility([in] BSTR v);
522
523     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
524     HRESULT visibility([retval, out] BSTR *p);
525
526     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
527     HRESULT listStyleType([in] BSTR v);
528
529     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
530     HRESULT listStyleType([retval, out] BSTR *p);
531
532     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
533     HRESULT listStylePosition([in] BSTR v);
534
535     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
536     HRESULT listStylePosition([retval, out] BSTR *p);
537
538     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
539     HRESULT listStyleImage([in] BSTR v);
540
541     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
542     HRESULT listStyleImage([retval, out] BSTR *p);
543
544     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
545     HRESULT listStyle([in] BSTR v);
546
547     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
548     HRESULT listStyle([retval, out] BSTR *p);
549
550     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
551     HRESULT whiteSpace([in] BSTR v);
552
553     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
554     HRESULT whiteSpace([retval, out] BSTR *p);
555
556     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
557     HRESULT top([in] VARIANT v);
558
559     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
560     HRESULT top([retval, out] VARIANT *p);
561
562     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
563     HRESULT left([in] VARIANT v);
564
565     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
566     HRESULT left([retval, out] VARIANT *p);
567
568     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
569     HRESULT position([retval, out] BSTR *p);
570
571     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
572     HRESULT zIndex([in] VARIANT v);
573
574     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
575     HRESULT zIndex([retval, out] VARIANT *p);
576
577     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
578     HRESULT overflow([in] BSTR v);
579
580     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
581     HRESULT overflow([retval, out] BSTR *p);
582
583     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
584     HRESULT pageBreakBefore([in] BSTR v);
585
586     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
587     HRESULT pageBreakBefore([retval, out] BSTR *p);
588
589     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
590     HRESULT pageBreakAfter([in] BSTR v);
591
592     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
593     HRESULT pageBreakAfter([retval, out] BSTR *p);
594
595     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
596     HRESULT cssText([in] BSTR v);
597
598     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
599     HRESULT cssText([retval, out] BSTR *p);
600
601     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
602     HRESULT pixelTop([in] LONG v);
603
604     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
605     HRESULT pixelTop([retval, out] LONG *p);
606
607     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
608     HRESULT pixelLeft([in] LONG v);
609
610     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
611     HRESULT pixelLeft([retval, out] LONG *p);
612
613     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
614     HRESULT pixelWidth([in] LONG v);
615
616     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
617     HRESULT pixelWidth([retval, out] LONG *p);
618
619     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
620     HRESULT pixelHeight([in] LONG v);
621
622     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
623     HRESULT pixelHeight([retval, out] LONG *p);
624
625     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
626     HRESULT posTop([in] float v);
627
628     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
629     HRESULT posTop([retval, out] float *p);
630
631     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
632     HRESULT posLeft([in] float v);
633
634     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
635     HRESULT posLeft([retval, out] float *p);
636
637     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
638     HRESULT posWidth([in] float v);
639
640     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
641     HRESULT posWidth([retval, out] float *p);
642
643     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
644     HRESULT posHeight([in] float v);
645
646     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
647     HRESULT posHeight([retval, out] float *p);
648
649     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
650     HRESULT cursor([in] BSTR v);
651
652     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
653     HRESULT cursor([retval, out] BSTR *p);
654
655     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
656     HRESULT clip([in] BSTR v);
657
658     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
659     HRESULT clip([retval, out] BSTR *p);
660
661     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
662     HRESULT filter([in] BSTR v);
663
664     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
665     HRESULT filter([retval, out] BSTR *p);
666
667     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
668     HRESULT setAttribute(
669         [in] BSTR strAttributeName,
670         [in] VARIANT AttributeValue,
671         [defaultvalue(1), in] LONG lFlags);
672
673     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
674     HRESULT getAttribute(
675         [in] BSTR strAttributeName,
676         [defaultvalue(0), in] LONG lFlags,
677         [retval, out] VARIANT *AttributeValue);
678
679     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
680     HRESULT removeAttribute(
681         [in] BSTR strAttributeName,
682         [defaultvalue(1), in]
683         LONG lFlags,
684         [retval, out] VARIANT_BOOL *pfSuccess);
685
686     [id(DISPID_IHTMLSTYLE_TOSTRING)]
687     HRESULT toString([retval, out] BSTR *String);
688 }
689
690 /*****************************************************************************
691  *    IHTMLStyle2 interface
692  */
693 [
694     odl,
695     oleautomation,
696     dual,
697     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
698 ]
699 interface IHTMLStyle2 : IDispatch
700 {
701     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
702     HRESULT tableLayout([in] BSTR v);
703
704     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
705     HRESULT tableLayout([out, retval] BSTR *p);
706
707     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
708     HRESULT borderCollapse([in] BSTR v);
709
710     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
711     HRESULT borderCollapse([out, retval] BSTR *p);
712
713     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
714     HRESULT direction([in] BSTR v);
715
716     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
717     HRESULT direction([out, retval] BSTR *p);
718
719     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
720     HRESULT behavior([in] BSTR v);
721
722     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
723     HRESULT behavior([out, retval] BSTR *p);
724
725     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
726     HRESULT setExpression(
727             [in] BSTR propname,
728             [in] BSTR expression,
729             [in, defaultvalue("")] BSTR language);
730
731     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
732     HRESULT getExpression(
733             [in] BSTR propname,
734             [out, retval] VARIANT *expression);
735
736     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
737     HRESULT removeExpression(
738             [in] BSTR propname,
739             [out, retval] VARIANT_BOOL *pfSuccess);
740
741     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
742     HRESULT position([in] BSTR v);
743
744     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
745     HRESULT position([out, retval] BSTR *p);
746
747     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
748     HRESULT unicodeBidi([in] BSTR v);
749
750     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
751     HRESULT unicodeBidi([out, retval] BSTR *p);
752
753     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
754     HRESULT bottom([in] VARIANT v);
755
756     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
757     HRESULT bottom([out, retval] VARIANT *p);
758
759     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
760     HRESULT right([in] VARIANT v);
761
762     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
763     HRESULT right([out, retval] VARIANT *p);
764
765     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
766     HRESULT pixelBottom([in] LONG v);
767
768     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
769     HRESULT pixelBottom([out, retval] LONG *p);
770
771     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
772     HRESULT pixelRight([in] LONG v);
773
774     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
775     HRESULT pixelRight([out, retval] LONG *p);
776
777     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
778     HRESULT posBottom([in] float v);
779
780     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
781     HRESULT posBottom([out, retval] float *p);
782
783     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
784     HRESULT posRight([in] float v);
785
786     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
787     HRESULT posRight([out, retval] float *p);
788
789     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
790     HRESULT imeMode([in] BSTR v);
791
792     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
793     HRESULT imeMode([out, retval] BSTR *p);
794
795     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
796     HRESULT rubyAlign([in] BSTR v);
797
798     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
799     HRESULT rubyAlign([out, retval] BSTR *p);
800
801     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
802     HRESULT rubyPosition([in] BSTR v);
803
804     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
805     HRESULT rubyPosition([out, retval] BSTR *p);
806
807     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
808     HRESULT rubyOverhang([in] BSTR v);
809
810     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
811     HRESULT rubyOverhang([out, retval] BSTR *p);
812
813     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
814     HRESULT layoutGridChar([in] VARIANT v);
815
816     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
817     HRESULT layoutGridChar([out, retval] VARIANT *p);
818
819     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
820     HRESULT layoutGridLine([in] VARIANT v);
821
822     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
823     HRESULT layoutGridLine([out, retval] VARIANT *p);
824
825     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
826     HRESULT layoutGridMode([in] BSTR v);
827
828     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
829     HRESULT layoutGridMode([out, retval] BSTR *p);
830
831     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
832     HRESULT layoutGridType([in] BSTR v);
833
834     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
835     HRESULT layoutGridType([out, retval] BSTR *p);
836
837     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
838     HRESULT layoutGrid([in] BSTR v);
839
840     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
841     HRESULT layoutGrid([out, retval] BSTR *p);
842
843     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
844     HRESULT wordBreak([in] BSTR v);
845
846     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
847     HRESULT wordBreak([out, retval] BSTR *p);
848
849     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
850     HRESULT lineBreak([in] BSTR v);
851
852     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
853     HRESULT lineBreak([out, retval] BSTR *p);
854
855     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
856     HRESULT textJustify([in] BSTR v);
857
858     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
859     HRESULT textJustify([out, retval] BSTR *p);
860
861     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
862     HRESULT textJustifyTrim([in] BSTR v);
863
864     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
865     HRESULT textJustifyTrim([out, retval] BSTR *p);
866
867     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
868     HRESULT textKashida([in] VARIANT v);
869
870     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
871     HRESULT textKashida([out, retval] VARIANT *p);
872
873     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
874     HRESULT textAutospace([in] BSTR v);
875
876     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
877     HRESULT textAutospace([out, retval] BSTR *p);
878
879     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
880     HRESULT overflowX([in] BSTR v);
881
882     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
883     HRESULT overflowX([out, retval] BSTR *p);
884
885     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
886     HRESULT overflowY([in] BSTR v);
887
888     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
889     HRESULT overflowY([out, retval] BSTR *p);
890
891     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
892     HRESULT accelerator([in] BSTR v);
893
894     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
895     HRESULT accelerator([out, retval] BSTR *p);
896 }
897
898 /*****************************************************************************
899  *    IHTMLRuleStyle interface
900  */
901 [
902         odl,
903         oleautomation,
904         dual,
905         uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
906 ]
907 interface IHTMLRuleStyle : IDispatch
908 {
909     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
910     HRESULT fontFamily([in] BSTR v);
911
912     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
913     HRESULT fontFamily([retval, out] BSTR *p);
914
915     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
916     HRESULT fontStyle([in] BSTR v);
917
918     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
919     HRESULT fontStyle([retval, out] BSTR *p);
920
921     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
922     HRESULT fontVariant([in] BSTR v);
923
924     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
925     HRESULT fontVariant([retval, out] BSTR *p);
926
927     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
928     HRESULT fontWeight([in] BSTR v);
929
930     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
931     HRESULT fontWeight([retval, out] BSTR *p);
932
933     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
934     HRESULT fontSize([in] VARIANT v);
935
936     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
937     HRESULT fontSize([retval, out] VARIANT *p);
938
939     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
940     HRESULT font([in] BSTR v);
941
942     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
943     HRESULT font([retval, out] BSTR *p);
944
945     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
946     HRESULT color([in] VARIANT v);
947
948     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
949     HRESULT color([retval, out] VARIANT *p);
950
951     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
952     HRESULT background([in] BSTR v);
953
954     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
955     HRESULT background([retval, out] BSTR *p);
956
957     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
958     HRESULT backgroundColor([in] VARIANT v);
959
960     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
961     HRESULT backgroundColor([retval, out] VARIANT *p);
962
963     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
964     HRESULT backgroundImage([in] BSTR v);
965
966     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
967     HRESULT backgroundImage([retval, out] BSTR *p);
968
969     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
970     HRESULT backgroundRepeat([in] BSTR v);
971
972     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
973     HRESULT backgroundRepeat([retval, out] BSTR *p);
974
975     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
976     HRESULT backgroundAttachment([in] BSTR v);
977
978     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
979     HRESULT backgroundAttachment([retval, out] BSTR *p);
980
981     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
982     HRESULT backgroundPosition([in] BSTR v);
983
984     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
985     HRESULT backgroundPosition([retval, out] BSTR *p);
986
987     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
988     HRESULT backgroundPositionX([in] VARIANT v);
989
990     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
991     HRESULT backgroundPositionX([retval, out] VARIANT *p);
992
993     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
994     HRESULT backgroundPositionY([in] VARIANT v);
995
996     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
997     HRESULT backgroundPositionY([retval, out] VARIANT *p);
998
999     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1000     HRESULT wordSpacing([in] VARIANT v);
1001
1002     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1003     HRESULT wordSpacing([retval, out] VARIANT *p);
1004
1005     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1006     HRESULT letterSpacing([in] VARIANT v);
1007
1008     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1009     HRESULT letterSpacing([retval, out] VARIANT *p);
1010
1011     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1012     HRESULT textDecoration([in] BSTR v);
1013
1014     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1015     HRESULT textDecoration([retval, out] BSTR *p);
1016
1017     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1018     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1019
1020     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1021     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1022
1023     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1024     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1025
1026     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1027     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1028
1029     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1030     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1031
1032     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1033     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1034
1035     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1036     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1037
1038     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1039     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1040
1041     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1042     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1043
1044     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1045     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1046
1047     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1048     HRESULT verticalAlign([in] VARIANT v);
1049
1050     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1051     HRESULT verticalAlign([retval, out] VARIANT *p);
1052
1053     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1054     HRESULT textTransform([in] BSTR v);
1055
1056     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1057     HRESULT textTransform([retval, out] BSTR *p);
1058
1059     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1060     HRESULT textAlign([in] BSTR v);
1061
1062     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1063     HRESULT textAlign([retval, out] BSTR *p);
1064
1065     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1066     HRESULT textIndent([in] VARIANT v);
1067
1068     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1069     HRESULT textIndent([retval, out] VARIANT *p);
1070
1071     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1072     HRESULT lineHeight([in] VARIANT v);
1073
1074     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1075     HRESULT lineHeight([retval, out] VARIANT *p);
1076
1077     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1078     HRESULT marginTop([in] VARIANT v);
1079
1080     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1081     HRESULT marginTop([retval, out] VARIANT *p);
1082
1083     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1084     HRESULT marginRight([in] VARIANT v);
1085
1086     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1087     HRESULT marginRight([retval, out] VARIANT *p);
1088
1089     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1090     HRESULT marginBottom([in] VARIANT v);
1091
1092     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1093     HRESULT marginBottom([retval, out] VARIANT *p);
1094
1095     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1096     HRESULT marginLeft([in] VARIANT v);
1097
1098     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1099     HRESULT marginLeft([retval, out] VARIANT *p);
1100
1101     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1102     HRESULT margin([in] BSTR v);
1103
1104     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1105     HRESULT margin([retval, out] BSTR *p);
1106
1107     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1108     HRESULT paddingTop([in] VARIANT v);
1109
1110     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1111     HRESULT paddingTop([retval, out] VARIANT *p);
1112
1113     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1114     HRESULT paddingRight([in] VARIANT v);
1115
1116     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1117     HRESULT paddingRight([retval, out] VARIANT *p);
1118
1119     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1120     HRESULT paddingBottom([in] VARIANT v);
1121
1122     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1123     HRESULT paddingBottom([retval, out] VARIANT *p);
1124
1125     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1126     HRESULT paddingLeft([in] VARIANT v);
1127
1128     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1129     HRESULT paddingLeft([retval, out] VARIANT *p);
1130
1131     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1132     HRESULT padding([in] BSTR v);
1133
1134     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1135     HRESULT padding([retval, out] BSTR *p);
1136
1137     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1138     HRESULT border([in] BSTR v);
1139
1140     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1141     HRESULT border([retval, out] BSTR *p);
1142
1143     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1144     HRESULT borderTop([in] BSTR v);
1145
1146     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1147     HRESULT borderTop([retval, out] BSTR *p);
1148
1149     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1150     HRESULT borderRight([in] BSTR v);
1151
1152     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1153     HRESULT borderRight([retval, out] BSTR *p);
1154
1155     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1156     HRESULT borderBottom([in] BSTR v);
1157
1158     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1159     HRESULT borderBottom([retval, out] BSTR *p);
1160
1161     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1162     HRESULT borderLeft([in] BSTR v);
1163
1164     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1165     HRESULT borderLeft([retval, out] BSTR *p);
1166
1167     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1168     HRESULT borderColor([in] BSTR v);
1169
1170     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1171     HRESULT borderColor([retval, out] BSTR *p);
1172
1173     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1174     HRESULT borderTopColor([in] VARIANT v);
1175
1176     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1177     HRESULT borderTopColor([retval, out] VARIANT *p);
1178
1179     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1180     HRESULT borderRightColor([in] VARIANT v);
1181
1182     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1183     HRESULT borderRightColor([retval, out] VARIANT *p);
1184
1185     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1186     HRESULT borderBottomColor([in] VARIANT v);
1187
1188     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1189     HRESULT borderBottomColor([retval, out] VARIANT *p);
1190
1191     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1192     HRESULT borderLeftColor([in] VARIANT v);
1193
1194     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1195     HRESULT borderLeftColor([retval, out] VARIANT *p);
1196
1197     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1198     HRESULT borderWidth([in] BSTR v);
1199
1200     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1201     HRESULT borderWidth([retval, out] BSTR *p);
1202
1203     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1204     HRESULT borderTopWidth([in] VARIANT v);
1205
1206     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1207     HRESULT borderTopWidth([retval, out] VARIANT *p);
1208
1209     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1210     HRESULT borderRightWidth([in] VARIANT v);
1211
1212     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1213     HRESULT borderRightWidth([retval, out] VARIANT *p);
1214
1215     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1216     HRESULT borderBottomWidth([in] VARIANT v);
1217
1218     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1219     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1220
1221     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1222     HRESULT borderLeftWidth([in] VARIANT v);
1223
1224     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1225     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1226
1227     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1228     HRESULT borderStyle([in] BSTR v);
1229
1230     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1231     HRESULT borderStyle([retval, out] BSTR *p);
1232
1233     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1234     HRESULT borderTopStyle([in] BSTR v);
1235
1236     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1237     HRESULT borderTopStyle([retval, out] BSTR *p);
1238
1239     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1240     HRESULT borderRightStyle([in] BSTR v);
1241
1242     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1243     HRESULT borderRightStyle([retval, out] BSTR *p);
1244
1245     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1246     HRESULT borderBottomStyle([in] BSTR v);
1247
1248     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1249     HRESULT borderBottomStyle([retval, out] BSTR *p);
1250
1251     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1252     HRESULT borderLeftStyle([in] BSTR v);
1253
1254     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1255     HRESULT borderLeftStyle([retval, out] BSTR *p);
1256
1257     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1258     HRESULT width([in] VARIANT v);
1259
1260     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1261     HRESULT width([retval, out] VARIANT *p);
1262
1263     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1264     HRESULT height([in] VARIANT v);
1265
1266     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1267     HRESULT height([retval, out] VARIANT *p);
1268
1269     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1270     HRESULT styleFloat([in] BSTR v);
1271
1272     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1273     HRESULT styleFloat([retval, out] BSTR *p);
1274
1275     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1276     HRESULT clear([in] BSTR v);
1277
1278     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1279     HRESULT clear([retval, out] BSTR *p);
1280
1281     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1282     HRESULT display([in] BSTR v);
1283
1284     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1285     HRESULT display([retval, out] BSTR *p);
1286
1287     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1288     HRESULT visibility([in] BSTR v);
1289
1290     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1291     HRESULT visibility([retval, out] BSTR *p);
1292
1293     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1294     HRESULT listStyleType([in] BSTR v);
1295
1296     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1297     HRESULT listStyleType([retval, out] BSTR *p);
1298
1299     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1300     HRESULT listStylePosition([in] BSTR v);
1301
1302     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1303     HRESULT listStylePosition([retval, out] BSTR *p);
1304
1305     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1306     HRESULT listStyleImage([in] BSTR v);
1307
1308     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1309     HRESULT listStyleImage([retval, out] BSTR *p);
1310
1311     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1312     HRESULT listStyle([in] BSTR v);
1313
1314     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1315     HRESULT listStyle([retval, out] BSTR *p);
1316
1317     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1318     HRESULT whiteSpace([in] BSTR v);
1319
1320     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1321     HRESULT whiteSpace([retval, out] BSTR *p);
1322
1323     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1324     HRESULT top([in] VARIANT v);
1325
1326     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1327     HRESULT top([retval, out] VARIANT *p);
1328
1329     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1330     HRESULT left([in] VARIANT v);
1331
1332     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1333     HRESULT left([retval, out] VARIANT *p);
1334
1335     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1336     HRESULT position([retval, out] BSTR *p);
1337
1338     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1339     HRESULT zIndex([in] VARIANT v);
1340
1341     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1342     HRESULT zIndex([retval, out] VARIANT *p);
1343
1344     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1345     HRESULT overflow([in] BSTR v);
1346
1347     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1348     HRESULT overflow([retval, out] BSTR *p);
1349
1350     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1351     HRESULT pageBreakBefore([in] BSTR v);
1352
1353     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1354     HRESULT pageBreakBefore([retval, out] BSTR *p);
1355
1356     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1357     HRESULT pageBreakAfter([in] BSTR v);
1358
1359     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1360     HRESULT pageBreakAfter([retval, out] BSTR *p);
1361
1362     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1363     HRESULT cssText([in] BSTR v);
1364
1365     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1366     HRESULT cssText([retval, out] BSTR *p);
1367
1368     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1369     HRESULT cursor([in] BSTR v);
1370
1371     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1372     HRESULT cursor([retval, out] BSTR *p);
1373
1374     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1375     HRESULT clip([in] BSTR v);
1376
1377     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1378     HRESULT clip([retval, out] BSTR *p);
1379
1380     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1381     HRESULT filter([in] BSTR v);
1382
1383     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1384     HRESULT filter([retval, out] BSTR *p);
1385
1386     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1387     HRESULT setAttribute(
1388         [in] BSTR strAttributeName,
1389         [in] VARIANT AttributeValue,
1390         [defaultvalue(1), in] LONG lFlags);
1391
1392     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1393     HRESULT getAttribute(
1394         [in] BSTR strAttributeName,
1395         [defaultvalue(0), in] LONG lFlags,
1396         [retval, out] VARIANT *AttributeValue);
1397
1398     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1399     HRESULT removeAttribute(
1400         [in] BSTR strAttributeName,
1401         [defaultvalue(1), in] LONG lFlags,
1402         [retval, out] VARIANT_BOOL *pfSuccess);
1403 }
1404
1405 /*****************************************************************************
1406  *    DispHTMLStyle dispinterface
1407  */
1408 [
1409     hidden,
1410     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1411 ]
1412 dispinterface DispHTMLStyle
1413 {
1414 properties:
1415 methods:
1416     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1417     void fontFamily(BSTR v);
1418
1419     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1420     BSTR fontFamily();
1421
1422     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1423     void fontStyle(BSTR v);
1424
1425     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1426     BSTR fontStyle();
1427
1428     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1429     void fontVariant(BSTR v);
1430
1431     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1432     BSTR fontVariant();
1433
1434     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1435     void fontWeight(BSTR v);
1436
1437     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1438     BSTR fontWeight();
1439
1440     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1441     void fontSize(VARIANT v);
1442
1443     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1444     VARIANT fontSize();
1445
1446     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1447     void font(BSTR v);
1448
1449     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1450     BSTR font();
1451
1452     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1453     void color(VARIANT v);
1454
1455     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1456     VARIANT color();
1457
1458     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1459     void background(BSTR v);
1460
1461     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1462     BSTR background();
1463
1464     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1465     void backgroundColor(VARIANT v);
1466
1467     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1468     VARIANT backgroundColor();
1469
1470     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1471     void backgroundImage(BSTR v);
1472
1473     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1474     BSTR backgroundImage();
1475
1476     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1477     void backgroundRepeat(BSTR v);
1478
1479     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1480     BSTR backgroundRepeat();
1481
1482     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1483     void backgroundAttachment(BSTR v);
1484
1485     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1486     BSTR backgroundAttachment();
1487
1488     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1489     void backgroundPosition(BSTR v);
1490
1491     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1492     BSTR backgroundPosition();
1493
1494     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1495     void backgroundPositionX(VARIANT v);
1496
1497     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1498     VARIANT backgroundPositionX();
1499
1500     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1501     void backgroundPositionY(VARIANT v);
1502
1503     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1504     VARIANT backgroundPositionY();
1505
1506     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1507     void wordSpacing(VARIANT v);
1508
1509     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1510     VARIANT wordSpacing();
1511
1512     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1513     void letterSpacing(VARIANT v);
1514
1515     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1516     VARIANT letterSpacing();
1517
1518     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1519     void textDecoration(BSTR v);
1520
1521     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1522     BSTR textDecoration();
1523
1524     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1525     void textDecorationNone(VARIANT_BOOL v);
1526
1527     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1528     VARIANT_BOOL textDecorationNone();
1529
1530     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1531     void textDecorationUnderline(VARIANT_BOOL v);
1532
1533     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1534     VARIANT_BOOL textDecorationUnderline();
1535
1536     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1537     void textDecorationOverline(VARIANT_BOOL v);
1538
1539     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1540     VARIANT_BOOL textDecorationOverline();
1541
1542     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1543     void textDecorationLineThrough(VARIANT_BOOL v);
1544
1545     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1546     VARIANT_BOOL textDecorationLineThrough();
1547
1548     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1549     void textDecorationBlink(VARIANT_BOOL v);
1550
1551     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1552     VARIANT_BOOL textDecorationBlink();
1553
1554     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1555     void verticalAlign(VARIANT v);
1556
1557     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1558     VARIANT verticalAlign();
1559
1560     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1561     void textTransform(BSTR v);
1562
1563     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1564     BSTR textTransform();
1565
1566     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1567     void textAlign(BSTR v);
1568
1569     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1570     BSTR textAlign();
1571
1572     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1573     void textIndent(VARIANT v);
1574
1575     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1576     VARIANT textIndent();
1577
1578     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1579     void lineHeight(VARIANT v);
1580
1581     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1582     VARIANT lineHeight();
1583
1584     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1585     void marginTop(VARIANT v);
1586
1587     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1588     VARIANT marginTop();
1589
1590     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1591     void marginRight(VARIANT v);
1592
1593     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1594     VARIANT marginRight();
1595
1596     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1597     void marginBottom(VARIANT v);
1598
1599     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1600     VARIANT marginBottom();
1601
1602     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1603     void marginLeft(VARIANT v);
1604
1605     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1606     VARIANT marginLeft();
1607
1608     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1609     void margin(BSTR v);
1610
1611     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1612     BSTR margin();
1613
1614     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1615     void paddingTop(VARIANT v);
1616
1617     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1618     VARIANT paddingTop();
1619
1620     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1621     void paddingRight(VARIANT v);
1622
1623     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1624     VARIANT paddingRight();
1625
1626     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1627     void paddingBottom(VARIANT v);
1628
1629     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1630     VARIANT paddingBottom();
1631
1632     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1633     void paddingLeft(VARIANT v);
1634
1635     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1636     VARIANT paddingLeft();
1637
1638     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1639     void padding(BSTR v);
1640
1641     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1642     BSTR padding();
1643
1644     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1645     void border(BSTR v);
1646
1647     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1648     BSTR border();
1649
1650     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1651     void borderTop(BSTR v);
1652
1653     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1654     BSTR borderTop();
1655
1656     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1657     void borderRight(BSTR v);
1658
1659     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1660     BSTR borderRight();
1661
1662     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1663     void borderBottom(BSTR v);
1664
1665     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1666     BSTR borderBottom();
1667
1668     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1669     void borderLeft(BSTR v);
1670
1671     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1672     BSTR borderLeft();
1673
1674     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1675     void borderColor(BSTR v);
1676
1677     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1678     BSTR borderColor();
1679
1680     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1681     void borderTopColor(VARIANT v);
1682
1683     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1684     VARIANT borderTopColor();
1685
1686     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1687     void borderRightColor(VARIANT v);
1688
1689     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1690     VARIANT borderRightColor();
1691
1692     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1693     void borderBottomColor(VARIANT v);
1694
1695     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1696     VARIANT borderBottomColor();
1697
1698     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1699     void borderLeftColor(VARIANT v);
1700
1701     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1702     VARIANT borderLeftColor();
1703
1704     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1705     void borderWidth(BSTR v);
1706
1707     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1708     BSTR borderWidth();
1709
1710     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1711     void borderTopWidth(VARIANT v);
1712
1713     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1714     VARIANT borderTopWidth();
1715
1716     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1717     void borderRightWidth(VARIANT v);
1718
1719     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1720     VARIANT borderRightWidth();
1721
1722     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1723     void borderBottomWidth(VARIANT v);
1724
1725     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1726     VARIANT borderBottomWidth();
1727
1728     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1729     void borderLeftWidth(VARIANT v);
1730
1731     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1732     VARIANT borderLeftWidth();
1733
1734     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1735     void borderStyle(BSTR v);
1736
1737     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1738     BSTR borderStyle();
1739
1740     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1741     void borderTopStyle(BSTR v);
1742
1743     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1744     BSTR borderTopStyle();
1745
1746     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1747     void borderRightStyle(BSTR v);
1748
1749     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1750     BSTR borderRightStyle();
1751
1752     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1753     void borderBottomStyle(BSTR v);
1754
1755     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1756     BSTR borderBottomStyle();
1757
1758     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1759     void borderLeftStyle(BSTR v);
1760
1761     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1762     BSTR borderLeftStyle();
1763
1764     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1765     void width(VARIANT v);
1766
1767     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1768     VARIANT width();
1769
1770     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1771     void height(VARIANT v);
1772
1773     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1774     VARIANT height();
1775
1776     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1777     void styleFloat(BSTR v);
1778
1779     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1780     BSTR styleFloat();
1781
1782     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1783     void clear(BSTR v);
1784
1785     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1786     BSTR clear();
1787
1788     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1789     void display(BSTR v);
1790
1791     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1792     BSTR display();
1793
1794     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1795     void visibility(BSTR v);
1796
1797     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1798     BSTR visibility();
1799
1800     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1801     void listStyleType(BSTR v);
1802
1803     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1804     BSTR listStyleType();
1805
1806     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1807     void listStylePosition(BSTR v);
1808
1809     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1810     BSTR listStylePosition();
1811
1812     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1813     void listStyleImage(BSTR v);
1814
1815     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1816     BSTR listStyleImage();
1817
1818     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1819     void listStyle(BSTR v);
1820
1821     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1822     BSTR listStyle();
1823
1824     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1825     void whiteSpace(BSTR v);
1826
1827     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1828     BSTR whiteSpace();
1829
1830     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1831     void top(VARIANT v);
1832
1833     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1834     VARIANT top();
1835
1836     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1837     void left(VARIANT v);
1838
1839     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1840     VARIANT left();
1841
1842     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1843     void zIndex(VARIANT v);
1844
1845     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1846     VARIANT zIndex();
1847
1848     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1849     void overflow(BSTR v);
1850
1851     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1852     BSTR overflow();
1853
1854     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1855     void pageBreakBefore(BSTR v);
1856
1857     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1858     BSTR pageBreakBefore();
1859
1860     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1861     void pageBreakAfter(BSTR v);
1862
1863     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1864     BSTR pageBreakAfter();
1865
1866     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1867     void cssText(BSTR v);
1868
1869     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1870     BSTR cssText();
1871
1872     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1873     void pixelTop(LONG v);
1874
1875     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1876     LONG pixelTop();
1877
1878     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1879     void pixelLeft(LONG v);
1880
1881     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1882     LONG pixelLeft();
1883
1884     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1885     void pixelWidth(LONG v);
1886
1887     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1888     LONG pixelWidth();
1889
1890     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1891     void pixelHeight(LONG v);
1892
1893     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1894     LONG pixelHeight();
1895
1896     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1897     void posTop(float v);
1898
1899     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1900     float posTop();
1901
1902     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1903     void posLeft(float v);
1904
1905     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1906     float posLeft();
1907
1908     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1909     void posWidth(float v);
1910
1911     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1912     float posWidth();
1913
1914     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1915     void posHeight(float v);
1916
1917     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1918     float posHeight();
1919
1920     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1921     void cursor(BSTR v);
1922
1923     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1924     BSTR cursor();
1925
1926     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1927     void clip(BSTR v);
1928
1929     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1930     BSTR clip();
1931
1932     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1933     void filter(BSTR v);
1934
1935     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1936     BSTR filter();
1937
1938     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1939     void setAttribute(
1940             [in] BSTR strAttributeName,
1941             [in] VARIANT AttributeValue,
1942             [in, defaultvalue(1)] LONG lFlags);
1943
1944     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1945     VARIANT getAttribute(
1946             [in] BSTR strAttributeName,
1947             [in, defaultvalue(0)] LONG lFlags);
1948
1949     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1950     VARIANT_BOOL removeAttribute(
1951             [in] BSTR strAttributeName,
1952             [in, defaultvalue(1)] LONG lFlags);
1953
1954     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1955     BSTR toString();
1956
1957     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1958     void tableLayout(BSTR v);
1959
1960     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1961     BSTR tableLayout();
1962
1963     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1964     void borderCollapse(BSTR v);
1965
1966     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1967     BSTR borderCollapse();
1968
1969     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1970     void direction(BSTR v);
1971
1972     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1973     BSTR direction();
1974
1975     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1976     void behavior(BSTR v);
1977
1978     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1979     BSTR behavior();
1980
1981     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
1982     void setExpression(
1983             [in] BSTR propname,
1984             [in] BSTR expression,
1985             [in, defaultvalue("")] BSTR language);
1986
1987     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
1988     VARIANT getExpression([in] BSTR propname);
1989
1990     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
1991     VARIANT_BOOL removeExpression([in] BSTR propname);
1992
1993     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1994     void position(BSTR v);
1995
1996     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1997     BSTR position();
1998
1999     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2000     void unicodeBidi(BSTR v);
2001
2002     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2003     BSTR unicodeBidi();
2004
2005     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2006     void bottom(VARIANT v);
2007
2008     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2009     VARIANT bottom();
2010
2011     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2012     void right(VARIANT v);
2013
2014     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2015     VARIANT right();
2016
2017     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2018     void pixelBottom(LONG v);
2019
2020     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2021     LONG pixelBottom();
2022
2023     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2024     void pixelRight(LONG v);
2025
2026     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2027     LONG pixelRight();
2028
2029     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2030     void posBottom(float v);
2031
2032     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2033     float posBottom();
2034
2035     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2036     void posRight(float v);
2037
2038     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2039     float posRight();
2040
2041     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2042     void imeMode(BSTR v);
2043
2044     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2045     BSTR imeMode();
2046
2047     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2048     void rubyAlign(BSTR v);
2049
2050     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2051     BSTR rubyAlign();
2052
2053     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2054     void rubyPosition(BSTR v);
2055
2056     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2057     BSTR rubyPosition();
2058
2059     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2060     void rubyOverhang(BSTR v);
2061
2062     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2063     BSTR rubyOverhang();
2064
2065     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2066     void layoutGridChar(VARIANT v);
2067
2068     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2069     VARIANT layoutGridChar();
2070
2071     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2072     void layoutGridLine(VARIANT v);
2073
2074     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2075     VARIANT layoutGridLine();
2076
2077     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2078     void layoutGridMode(BSTR v);
2079
2080     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2081     BSTR layoutGridMode();
2082
2083     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2084     void layoutGridType(BSTR v);
2085
2086     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2087     BSTR layoutGridType();
2088
2089     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2090     void layoutGrid(BSTR v);
2091
2092     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2093     BSTR layoutGrid();
2094
2095     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2096     void wordBreak(BSTR v);
2097
2098     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2099     BSTR wordBreak();
2100
2101     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2102     void lineBreak(BSTR v);
2103
2104     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2105     BSTR lineBreak();
2106
2107     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2108     void textJustify(BSTR v);
2109
2110     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2111     BSTR textJustify();
2112
2113     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2114     void textJustifyTrim(BSTR v);
2115
2116     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2117     BSTR textJustifyTrim();
2118
2119     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2120     void textKashida(VARIANT v);
2121
2122     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2123     VARIANT textKashida();
2124
2125     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2126     void textAutospace(BSTR v);
2127
2128     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2129     BSTR textAutospace();
2130
2131     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2132     void overflowX(BSTR v);
2133
2134     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2135     BSTR overflowX();
2136
2137     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2138     void overflowY(BSTR v);
2139
2140     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2141     BSTR overflowY();
2142
2143     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2144     void accelerator(BSTR v);
2145
2146     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2147     BSTR accelerator();
2148
2149     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2150     void layoutFlow(BSTR v);
2151
2152     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2153     BSTR layoutFlow();
2154
2155     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2156     void zoom(VARIANT v);
2157
2158     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2159     VARIANT zoom();
2160
2161     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2162     void wordWrap(BSTR v);
2163
2164     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2165     BSTR wordWrap();
2166
2167     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2168     void textUnderlinePosition(BSTR v);
2169
2170     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2171     BSTR textUnderlinePosition();
2172
2173     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2174     void scrollbarBaseColor(VARIANT v);
2175
2176     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2177     VARIANT scrollbarBaseColor();
2178
2179     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2180     void scrollbarFaceColor(VARIANT v);
2181
2182     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2183     VARIANT scrollbarFaceColor();
2184
2185     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2186     void scrollbar3dLightColor(VARIANT v);
2187
2188     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2189     VARIANT scrollbar3dLightColor();
2190
2191     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2192     void scrollbarShadowColor(VARIANT v);
2193
2194     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2195     VARIANT scrollbarShadowColor();
2196
2197     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2198     void scrollbarHighlightColor(VARIANT v);
2199
2200     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2201     VARIANT scrollbarHighlightColor();
2202
2203     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2204     void scrollbarDarkShadowColor(VARIANT v);
2205
2206     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2207     VARIANT scrollbarDarkShadowColor();
2208
2209     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2210     void scrollbarArrowColor(VARIANT v);
2211
2212     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2213     VARIANT scrollbarArrowColor();
2214
2215     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2216     void scrollbarTrackColor(VARIANT v);
2217
2218     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2219     VARIANT scrollbarTrackColor();
2220
2221     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2222     void writingMode(BSTR v);
2223
2224     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2225     BSTR writingMode();
2226
2227     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2228     void textAlignLast(BSTR v);
2229
2230     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2231     BSTR textAlignLast();
2232
2233     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2234     void textKashidaSpace(VARIANT v);
2235
2236     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2237     VARIANT textKashidaSpace();
2238
2239     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2240     void textOverflow(BSTR v);
2241
2242     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2243     BSTR textOverflow();
2244
2245     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2246     void minHeight(VARIANT v);
2247
2248     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2249     VARIANT minHeight();
2250 }
2251
2252 [
2253     odl,
2254     oleautomation,
2255     dual,
2256     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2257 ]
2258 interface IHTMLStyle3 : IDispatch
2259 {
2260     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2261     HRESULT layoutFlow([in] BSTR v);
2262
2263     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2264     HRESULT layoutFlow([retval, out] BSTR * p);
2265
2266     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2267     HRESULT zoom([in] VARIANT v);
2268
2269     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2270     HRESULT zoom([retval, out] VARIANT * p);
2271
2272     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2273     HRESULT wordWrap([in] BSTR v);
2274
2275     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2276     HRESULT wordWrap([retval, out] BSTR * p);
2277
2278     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2279     HRESULT textUnderlinePosition([in] BSTR v);
2280
2281     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2282     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2283
2284     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2285     HRESULT scrollbarBaseColor([in] VARIANT v);
2286
2287     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2288     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2289
2290     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2291     HRESULT scrollbarFaceColor([in] VARIANT v);
2292
2293     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2294     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2295
2296     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2297     HRESULT scrollbar3dLightColor([in] VARIANT v);
2298
2299     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2300     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2301
2302     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2303     HRESULT scrollbarShadowColor([in] VARIANT v);
2304
2305     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2306     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2307
2308     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2309     HRESULT scrollbarHighlightColor([in] VARIANT v);
2310
2311     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2312     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2313
2314     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2315     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2316
2317     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2318     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2319
2320     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2321     HRESULT scrollbarArrowColor([in] VARIANT v);
2322
2323     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2324     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2325
2326     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2327     HRESULT scrollbarTrackColor([in] VARIANT v);
2328
2329     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2330     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2331
2332     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2333     HRESULT writingMode([in] BSTR v);
2334
2335     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2336     HRESULT writingMode([retval, out] BSTR * p);
2337
2338     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2339     HRESULT textAlignLast([in] BSTR v);
2340
2341     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2342     HRESULT textAlignLast([retval, out] BSTR * p);
2343
2344     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2345     HRESULT textKashidaSpace([in] VARIANT v);
2346
2347     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2348     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2349 }
2350
2351 /*****************************************************************************
2352  *    IHTMLSytyle4 interface
2353  */
2354 [
2355     odl,
2356     oleautomation,
2357     dual,
2358     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2359 ]
2360 interface IHTMLStyle4 : IDispatch
2361 {
2362     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2363     HRESULT textOverflow([in] BSTR v);
2364
2365     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2366     HRESULT textOverflow([retval, out] BSTR * p);
2367
2368     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2369     HRESULT minHeight([in] VARIANT v);
2370
2371     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2372     HRESULT minHeight([retval, out] VARIANT * p);
2373 }
2374
2375 [
2376     noncreatable,
2377     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2378 ]
2379 coclass HTMLStyle
2380 {
2381     [default] dispinterface DispHTMLStyle;
2382     interface IHTMLStyle;
2383     interface IHTMLStyle2;
2384     interface IHTMLStyle3;
2385     interface IHTMLStyle4;
2386     /* interface IHTMLStyle5; */
2387 }
2388
2389 /*****************************************************************************
2390  *    IHTMLRenderStyle interface
2391  */
2392 [
2393     odl,
2394     oleautomation,
2395     dual,
2396     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2397 ]
2398 interface IHTMLRenderStyle : IDispatch
2399 {
2400     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2401     HRESULT textLineThroughStyle([in] BSTR v);
2402
2403     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2404     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2405
2406     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2407     HRESULT textUnderlineStyle([in] BSTR v);
2408
2409     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2410     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2411
2412     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2413     HRESULT textEffect([in] BSTR v);
2414
2415     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2416     HRESULT textEffect([retval, out] BSTR *p);
2417
2418     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2419     HRESULT textColor([in] VARIANT v);
2420
2421     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2422     HRESULT textColor([retval, out] VARIANT *p);
2423
2424     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2425     HRESULT textBackgroundColor([in] VARIANT v);
2426
2427     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2428     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2429
2430     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2431     HRESULT textDecorationColor([in] VARIANT v);
2432
2433     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2434     HRESULT textDecorationColor([retval, out] VARIANT *p);
2435
2436     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2437     HRESULT renderingPriority([in] LONG v);
2438
2439     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2440     HRESULT renderingPriority([retval, out] LONG *p);
2441
2442     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2443     HRESULT defaultTextSelection([in] BSTR v);
2444
2445     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2446     HRESULT defaultTextSelection([retval, out] BSTR *p);
2447
2448     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2449     HRESULT textDecoration([in] BSTR v);
2450
2451     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2452     HRESULT textDecoration([retval, out] BSTR *p);
2453 }
2454
2455 /*****************************************************************************
2456  *    IHTMLCurrentStyle interface
2457  */
2458 [
2459     odl,
2460     oleautomation,
2461     dual,
2462     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2463 ]
2464 interface IHTMLCurrentStyle : IDispatch
2465 {
2466     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2467     HRESULT position([retval, out] BSTR *p);
2468
2469     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2470     HRESULT styleFloat([retval, out] BSTR *p);
2471
2472     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2473     HRESULT color([retval, out] VARIANT *p);
2474
2475     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2476     HRESULT backgroundColor([retval, out] VARIANT *p);
2477
2478     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2479     HRESULT fontFamily([retval, out] BSTR *p);
2480
2481     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2482     HRESULT fontStyle([retval, out] BSTR *p);
2483
2484     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2485     HRESULT fontVariant([retval, out] BSTR *p);
2486
2487     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2488     HRESULT fontWeight([retval, out] VARIANT *p);
2489
2490     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2491     HRESULT fontSize([retval, out] VARIANT *p);
2492
2493     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2494     HRESULT backgroundImage([retval, out] BSTR *p);
2495
2496     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2497     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2498
2499     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2500     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2501
2502     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2503     HRESULT backgroundRepeat([retval, out] BSTR *p);
2504
2505     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2506     HRESULT borderLeftColor([retval, out] VARIANT *p);
2507
2508     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2509     HRESULT borderTopColor([retval, out] VARIANT *p);
2510
2511     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2512     HRESULT borderRightColor([retval, out] VARIANT *p);
2513
2514     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2515     HRESULT borderBottomColor([retval, out] VARIANT *p);
2516
2517     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2518     HRESULT borderTopStyle([retval, out] BSTR *p);
2519
2520     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2521     HRESULT borderRightStyle([retval, out] BSTR *p);
2522
2523     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2524     HRESULT borderBottomStyle([retval, out] BSTR *p);
2525
2526     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2527     HRESULT borderLeftStyle([retval, out] BSTR *p);
2528
2529     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2530     HRESULT borderTopWidth([retval, out] VARIANT *p);
2531
2532     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2533     HRESULT borderRightWidth([retval, out] VARIANT *p);
2534
2535     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2536     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2537
2538     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2539     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2540
2541     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2542     HRESULT left([retval, out] VARIANT *p);
2543
2544     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2545     HRESULT top([retval, out] VARIANT *p);
2546
2547     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2548     HRESULT width([retval, out] VARIANT *p);
2549
2550     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2551     HRESULT height([retval, out] VARIANT *p);
2552
2553     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2554     HRESULT paddingLeft([retval, out] VARIANT *p);
2555
2556     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2557     HRESULT paddingTop([retval, out] VARIANT *p);
2558
2559     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2560     HRESULT paddingRight([retval, out] VARIANT *p);
2561
2562     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2563     HRESULT paddingBottom([retval, out] VARIANT *p);
2564
2565     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2566     HRESULT textAlign([retval, out] BSTR *p);
2567
2568     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2569     HRESULT textDecoration([retval, out] BSTR *p);
2570
2571     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2572     HRESULT display([retval, out] BSTR *p);
2573
2574     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2575     HRESULT visibility([retval, out] BSTR *p);
2576
2577     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2578     HRESULT zIndex([retval, out] VARIANT *p);
2579
2580     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2581     HRESULT letterSpacing([retval, out] VARIANT *p);
2582
2583     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2584     HRESULT lineHeight([retval, out] VARIANT *p);
2585
2586     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2587     HRESULT textIndent([retval, out] VARIANT *p);
2588
2589     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2590     HRESULT verticalAlign([retval, out] VARIANT *p);
2591
2592     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2593     HRESULT backgroundAttachment([retval, out] BSTR *p);
2594
2595     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2596     HRESULT marginTop([retval, out] VARIANT *p);
2597
2598     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2599     HRESULT marginRight([retval, out] VARIANT *p);
2600
2601     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2602     HRESULT marginBottom([retval, out] VARIANT *p);
2603
2604     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2605     HRESULT marginLeft([retval, out] VARIANT *p);
2606
2607     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2608     HRESULT clear([retval, out] BSTR *p);
2609
2610     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2611     HRESULT listStyleType([retval, out] BSTR *p);
2612
2613     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2614     HRESULT listStylePosition([retval, out] BSTR *p);
2615
2616     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2617     HRESULT listStyleImage([retval, out] BSTR *p);
2618
2619     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2620     HRESULT clipTop([retval, out] VARIANT *p);
2621
2622     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2623     HRESULT clipRight([retval, out] VARIANT *p);
2624
2625     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2626     HRESULT clipBottom([retval, out] VARIANT *p);
2627
2628     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2629     HRESULT clipLeft([retval, out] VARIANT *p);
2630
2631     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2632     HRESULT overflow([retval, out] BSTR *p);
2633
2634     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2635     HRESULT pageBreakBefore([retval, out] BSTR *p);
2636
2637     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2638     HRESULT pageBreakAfter([retval, out] BSTR *p);
2639
2640     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2641     HRESULT cursor([retval, out] BSTR *p);
2642
2643     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2644     HRESULT tableLayout([retval, out] BSTR *p);
2645
2646     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2647     HRESULT borderCollapse([retval, out] BSTR *p);
2648
2649     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2650     HRESULT direction([retval, out] BSTR *p);
2651
2652     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2653     HRESULT behavior([retval, out] BSTR *p);
2654
2655     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2656     HRESULT getAttribute(
2657         [in] BSTR strAttributeName,
2658         [defaultvalue(0), in] LONG lFlags,
2659         [retval, out] VARIANT *AttributeValue);
2660
2661     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2662     HRESULT unicodeBidi([retval, out] BSTR *p);
2663
2664     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2665     HRESULT right([retval, out] VARIANT *p);
2666
2667     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2668     HRESULT bottom([retval, out] VARIANT *p);
2669
2670     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2671     HRESULT imeMode([retval, out] BSTR *p);
2672
2673     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2674     HRESULT rubyAlign([retval, out] BSTR *p);
2675
2676     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2677     HRESULT rubyPosition([retval, out] BSTR *p);
2678
2679     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2680     HRESULT rubyOverhang([retval, out] BSTR *p);
2681
2682     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2683     HRESULT textAutospace([retval, out] BSTR *p);
2684
2685     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2686     HRESULT lineBreak([retval, out] BSTR *p);
2687
2688     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2689     HRESULT wordBreak([retval, out] BSTR *p);
2690
2691     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2692     HRESULT textJustify([retval, out] BSTR *p);
2693
2694     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2695     HRESULT textJustifyTrim([retval, out] BSTR *p);
2696
2697     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2698     HRESULT textKashida([retval, out] VARIANT *p);
2699
2700     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2701     HRESULT blockDirection([retval, out] BSTR *p);
2702
2703     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2704     HRESULT layoutGridChar([retval, out] VARIANT *p);
2705
2706     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2707     HRESULT layoutGridLine([retval, out] VARIANT *p);
2708
2709     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2710     HRESULT layoutGridMode([retval, out] BSTR *p);
2711
2712     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2713     HRESULT layoutGridType([retval, out] BSTR *p);
2714
2715     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2716     HRESULT borderStyle([retval, out] BSTR *p);
2717
2718     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2719     HRESULT borderColor([retval, out] BSTR *p);
2720
2721     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2722     HRESULT borderWidth([retval, out] BSTR *p);
2723
2724     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2725     HRESULT padding([retval, out] BSTR *p);
2726
2727     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2728     HRESULT margin([retval, out] BSTR *p);
2729
2730     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2731     HRESULT accelerator([retval, out] BSTR *p);
2732
2733     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2734     HRESULT overflowX([retval, out] BSTR *p);
2735
2736     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2737     HRESULT overflowY([retval, out] BSTR *p);
2738
2739     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2740     HRESULT textTransform([retval, out] BSTR *p);
2741 }
2742
2743 /*****************************************************************************
2744  *    IHTMLCurrentStyle2 interface
2745  */
2746 [
2747     odl,
2748     oleautomation,
2749     dual,
2750     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
2751 ]
2752 interface IHTMLCurrentStyle2 : IDispatch
2753 {
2754     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
2755     HRESULT layoutFlow([retval, out] BSTR * p);
2756
2757     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
2758     HRESULT wordWrap([retval, out] BSTR * p);
2759
2760     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
2761     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2762
2763     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
2764     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
2765
2766     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
2767     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2768
2769     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
2770     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2771
2772     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2773     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2774
2775     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2776     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2777
2778     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2779     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2780
2781     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2782     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2783
2784     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
2785     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2786
2787     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
2788     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2789
2790     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
2791     HRESULT writingMode([retval, out] BSTR * p);
2792
2793     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
2794     HRESULT zoom([retval, out] VARIANT * p);
2795
2796     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
2797     HRESULT filter([retval, out] BSTR * p);
2798
2799     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
2800     HRESULT textAlignLast([retval, out] BSTR * p);
2801
2802     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
2803     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2804
2805     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
2806     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
2807 }
2808
2809 /*****************************************************************************
2810  *    IHTMLCurrentStyle3 interface
2811  */
2812 [
2813     odl,
2814     oleautomation,
2815     dual,
2816     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
2817 ]
2818 interface IHTMLCurrentStyle3 : IDispatch
2819 {
2820     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
2821     HRESULT textOverflow([retval, out] BSTR * p);
2822
2823     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
2824     HRESULT minHeight([retval, out] VARIANT * p);
2825
2826     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
2827     HRESULT wordSpacing([retval, out] VARIANT * p);
2828
2829     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
2830     HRESULT whiteSpace([retval, out] BSTR * p);
2831 }
2832
2833 /*****************************************************************************
2834  *    IHTMLCurrentStyle4 interface
2835  */
2836 [
2837     odl,
2838     oleautomation,
2839     dual,
2840     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
2841 ]
2842 interface IHTMLCurrentStyle4 : IDispatch
2843 {
2844     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
2845     HRESULT msInterpolationMode([retval, out] BSTR * p);
2846
2847     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
2848     HRESULT maxHeight([retval, out] VARIANT * p);
2849
2850     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
2851     HRESULT minWidth([retval, out] VARIANT * p);
2852
2853     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
2854     HRESULT maxWidth([retval, out] VARIANT * p);
2855 };
2856
2857 /*****************************************************************************
2858  *    DispHTMLCurrentStyle dispinterface
2859  */
2860 [
2861     hidden,
2862     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
2863 ]
2864 dispinterface DispHTMLCurrentStyle
2865 {
2866 properties:
2867 methods:
2868     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2869     BSTR position();
2870
2871     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2872     BSTR styleFloat();
2873
2874     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2875     VARIANT color();
2876
2877     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2878     VARIANT backgroundColor();
2879
2880     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2881     BSTR fontFamily();
2882
2883     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2884     BSTR fontStyle();
2885
2886     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2887     BSTR fontVariant();
2888
2889     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2890     VARIANT fontWeight();
2891
2892     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2893     VARIANT fontSize();
2894
2895     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2896     BSTR backgroundImage();
2897
2898     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2899     VARIANT backgroundPositionX();
2900
2901     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2902     VARIANT backgroundPositionY();
2903
2904     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2905     BSTR backgroundRepeat();
2906
2907     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2908     VARIANT borderLeftColor();
2909
2910     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2911     VARIANT borderTopColor();
2912
2913     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2914     VARIANT borderRightColor();
2915
2916     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2917     VARIANT borderBottomColor();
2918
2919     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2920     BSTR borderTopStyle();
2921
2922     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2923     BSTR borderRightStyle();
2924
2925     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2926     BSTR borderBottomStyle();
2927
2928     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2929     BSTR borderLeftStyle();
2930
2931     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2932     VARIANT borderTopWidth();
2933
2934     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2935     VARIANT borderRightWidth();
2936
2937     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2938     VARIANT borderBottomWidth();
2939
2940     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2941     VARIANT borderLeftWidth();
2942
2943     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2944     VARIANT left();
2945
2946     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2947     VARIANT top();
2948
2949     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2950     VARIANT width();
2951
2952     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2953     VARIANT height();
2954
2955     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2956     VARIANT paddingLeft();
2957
2958     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2959     VARIANT paddingTop();
2960
2961     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2962     VARIANT paddingRight();
2963
2964     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2965     VARIANT paddingBottom();
2966
2967     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2968     BSTR textAlign();
2969
2970     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2971     BSTR textDecoration();
2972
2973     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2974     BSTR display();
2975
2976     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2977     BSTR visibility();
2978
2979     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2980     VARIANT zIndex();
2981
2982     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2983     VARIANT letterSpacing();
2984
2985     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2986     VARIANT lineHeight();
2987
2988     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2989     VARIANT textIndent();
2990
2991     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2992     VARIANT verticalAlign();
2993
2994     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2995     BSTR backgroundAttachment();
2996
2997     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2998     VARIANT marginTop();
2999
3000     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3001     VARIANT marginRight();
3002
3003     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3004     VARIANT marginBottom();
3005
3006     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3007     VARIANT marginLeft();
3008
3009     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3010     BSTR clear();
3011
3012     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3013     BSTR listStyleType();
3014
3015     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3016     BSTR listStylePosition();
3017
3018     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3019     BSTR listStyleImage();
3020
3021     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3022     VARIANT clipTop();
3023
3024     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3025     VARIANT clipRight();
3026
3027     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3028     VARIANT clipBottom();
3029
3030     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3031     VARIANT clipLeft();
3032
3033     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3034     BSTR overflow();
3035
3036     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3037     BSTR pageBreakBefore();
3038
3039     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3040     BSTR pageBreakAfter();
3041
3042     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3043     BSTR cursor();
3044
3045     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3046     BSTR tableLayout();
3047
3048     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3049     BSTR borderCollapse();
3050
3051     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3052     BSTR direction();
3053
3054     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3055     BSTR behavior();
3056
3057     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3058     VARIANT getAttribute(
3059             [in] BSTR strAttributeName,
3060             [in, defaultvalue(0)] LONG lFlags);
3061
3062     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3063     BSTR unicodeBidi();
3064
3065     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3066     VARIANT right();
3067
3068     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3069     VARIANT bottom();
3070
3071     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3072     BSTR imeMode();
3073
3074     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3075     BSTR rubyAlign();
3076
3077     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3078     BSTR rubyPosition();
3079
3080     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3081     BSTR rubyOverhang();
3082
3083     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3084     BSTR textAutospace();
3085
3086     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3087     BSTR lineBreak();
3088
3089     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3090     BSTR wordBreak();
3091
3092     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3093     BSTR textJustify();
3094
3095     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3096     BSTR textJustifyTrim();
3097
3098     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3099     VARIANT textKashida();
3100
3101     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3102     BSTR blockDirection();
3103
3104     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3105     VARIANT layoutGridChar();
3106
3107     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3108     VARIANT layoutGridLine();
3109
3110     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3111     BSTR layoutGridMode();
3112
3113     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3114     BSTR layoutGridType();
3115
3116     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3117     BSTR borderStyle();
3118
3119     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3120     BSTR borderColor();
3121
3122     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3123     BSTR borderWidth();
3124
3125     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3126     BSTR padding();
3127
3128     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3129     BSTR margin();
3130
3131     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3132     BSTR accelerator();
3133
3134     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3135     BSTR overflowX();
3136
3137     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3138     BSTR overflowY();
3139
3140     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3141     BSTR textTransform();
3142
3143     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3144     BSTR layoutFlow();
3145
3146     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3147     BSTR wordWrap();
3148
3149     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3150     BSTR textUnderlinePosition();
3151
3152     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3153     VARIANT_BOOL hasLayout();
3154
3155     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3156     VARIANT scrollbarBaseColor();
3157
3158     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3159     VARIANT scrollbarFaceColor();
3160
3161     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3162     VARIANT scrollbar3dLightColor();
3163
3164     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3165     VARIANT scrollbarShadowColor();
3166
3167     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3168     VARIANT scrollbarHighlightColor();
3169
3170     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3171     VARIANT scrollbarDarkShadowColor();
3172
3173     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3174     VARIANT scrollbarArrowColor();
3175
3176     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3177     VARIANT scrollbarTrackColor();
3178
3179     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3180     BSTR writingMode();
3181
3182     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3183     VARIANT zoom();
3184
3185     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3186     BSTR filter();
3187
3188     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3189     BSTR textAlignLast();
3190
3191     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3192     VARIANT textKashidaSpace();
3193
3194     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3195     VARIANT_BOOL isBlock();
3196
3197     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3198     BSTR textOverflow();
3199
3200     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3201     VARIANT minHeight();
3202
3203     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3204     VARIANT wordSpacing();
3205
3206     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3207     BSTR whiteSpace();
3208
3209     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3210     BSTR msInterpolationMode();
3211
3212     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3213     VARIANT maxHeight();
3214
3215     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3216     VARIANT minWidth();
3217
3218     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3219     VARIANT maxWidth();
3220 }
3221
3222 [
3223     noncreatable,
3224     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3225 ]
3226 coclass HTMLCurrentStyle
3227 {
3228     [default] dispinterface DispHTMLCurrentStyle;
3229     interface IHTMLCurrentStyle;
3230     interface IHTMLCurrentStyle2;
3231     interface IHTMLCurrentStyle3;
3232     interface IHTMLCurrentStyle4;
3233 }
3234
3235 /*****************************************************************************
3236  *    IHTMLRect interface
3237  */
3238 [
3239     odl,
3240     oleautomation,
3241     dual,
3242     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3243 ]
3244 interface IHTMLRect : IDispatch
3245 {
3246     [propput, id(DISPID_IHTMLRECT_LEFT)]
3247     HRESULT left([in] LONG v);
3248
3249     [propget, id(DISPID_IHTMLRECT_LEFT)]
3250     HRESULT left([retval, out] LONG *p);
3251
3252     [propput, id(DISPID_IHTMLRECT_TOP)]
3253     HRESULT top([in] LONG v);
3254
3255     [propget, id(DISPID_IHTMLRECT_TOP)]
3256     HRESULT top([retval, out] LONG *p);
3257
3258     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3259     HRESULT right([in] LONG v);
3260
3261     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3262     HRESULT right([retval, out] LONG *p);
3263
3264     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3265     HRESULT bottom([in] LONG v);
3266
3267     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3268     HRESULT bottom([retval, out] LONG *p);
3269 }
3270
3271 /*****************************************************************************
3272  *    IHTMLRectCollection interface
3273  */
3274 [
3275     odl,
3276     oleautomation,
3277     dual,
3278     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3279 ]
3280 interface IHTMLRectCollection : IDispatch
3281 {
3282     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3283     HRESULT length([retval, out] LONG *p);
3284
3285     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3286     HRESULT _newEnum([retval, out] IUnknown **p);
3287
3288     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3289     HRESULT item(
3290         [in] VARIANT *pvarIndex,
3291         [retval, out] VARIANT *pvarResult);
3292 }
3293
3294 /*****************************************************************************
3295  *    IHTMLDOMNode interface
3296  */
3297 [
3298     odl,
3299     oleautomation,
3300     dual,
3301     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3302 ]
3303 interface IHTMLDOMNode : IDispatch
3304 {
3305     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3306     HRESULT nodeType([retval, out] LONG *p);
3307
3308     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3309     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3310
3311     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3312     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3313
3314     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3315     HRESULT childNodes([retval, out] IDispatch **p);
3316
3317     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3318     HRESULT attributes([retval, out] IDispatch **p);
3319
3320     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3321     HRESULT insertBefore(
3322         [in] IHTMLDOMNode *newChild,
3323         [optional, in] VARIANT refChild,
3324         [retval, out] IHTMLDOMNode **node);
3325
3326     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3327     HRESULT removeChild(
3328         [in] IHTMLDOMNode *oldChild,
3329         [retval, out] IHTMLDOMNode **node);
3330
3331     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3332     HRESULT replaceChild(
3333         [in] IHTMLDOMNode *newChild,
3334         [in] IHTMLDOMNode *oldChild,
3335         [retval, out] IHTMLDOMNode **node);
3336
3337     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3338     HRESULT cloneNode(
3339         [in] VARIANT_BOOL fDeep,
3340         [retval, out] IHTMLDOMNode **clonedNode);
3341
3342     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3343     HRESULT removeNode(
3344         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3345         [retval, out] IHTMLDOMNode **removed);
3346
3347     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3348     HRESULT swapNode(
3349         [in] IHTMLDOMNode *otherNode,
3350         [retval, out] IHTMLDOMNode **swappedNode);
3351
3352     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3353     HRESULT replaceNode(
3354         [in] IHTMLDOMNode *replacement,
3355         [retval, out] IHTMLDOMNode **replaced);
3356
3357     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3358     HRESULT appendChild(
3359         [in] IHTMLDOMNode *newChild,
3360         [retval, out] IHTMLDOMNode **node);
3361
3362     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3363     HRESULT nodeName([retval, out] BSTR *p);
3364
3365     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3366     HRESULT nodeValue([in] VARIANT v);
3367
3368     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3369     HRESULT nodeValue([retval, out] VARIANT *p);
3370
3371     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3372     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3373
3374     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3375     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3376
3377     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3378     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3379
3380     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3381     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3382 }
3383
3384 /*****************************************************************************
3385  *    IHTMLDOMNode2 interface
3386  */
3387 [
3388     odl,
3389     oleautomation,
3390     dual,
3391     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3392 ]
3393 interface IHTMLDOMNode2 : IDispatch
3394 {
3395     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3396     HRESULT ownerDocument([retval, out] IDispatch **p);
3397 }
3398
3399 /*****************************************************************************
3400  *    IHTMLDOMAttribute interface
3401  */
3402 [
3403     odl,
3404     oleautomation,
3405     dual,
3406     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3407 ]
3408 interface IHTMLDOMAttribute : IDispatch
3409 {
3410     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3411     HRESULT nodeName([retval, out] BSTR *p);
3412
3413     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3414     HRESULT nodeValue([in] VARIANT v);
3415
3416     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3417     HRESULT nodeValue([retval, out] VARIANT *p);
3418
3419     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3420     HRESULT specified([retval, out] VARIANT_BOOL *p);
3421 }
3422
3423 /*****************************************************************************
3424  *    IHTMLDOMTextNode interface
3425  */
3426 [
3427     odl,
3428     oleautomation,
3429     dual,
3430     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3431 ]
3432 interface IHTMLDOMTextNode : IDispatch
3433 {
3434     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3435     HRESULT data([in] BSTR v);
3436
3437     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3438     HRESULT data([out, retval] BSTR *p);
3439
3440     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3441     HRESULT toString([out, retval] BSTR *String);
3442
3443     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3444     HRESULT length([out, retval] LONG *p);
3445
3446     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3447     HRESULT splitText(
3448             [in] LONG offset,
3449             [out, retval] IHTMLDOMNode **pRetNode);
3450 }
3451
3452 /*****************************************************************************
3453  *    IHTMLDOMTextNode2 interface
3454  */
3455 [
3456     odl,
3457     oleautomation,
3458     dual,
3459     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3460 ]
3461 interface IHTMLDOMTextNode2 : IDispatch
3462 {
3463     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3464     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3465
3466     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3467     HRESULT appendData([in] BSTR bstrstring);
3468
3469     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3470     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3471
3472     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3473     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3474
3475     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3476     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3477 }
3478
3479 [
3480     noncreatable,
3481     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3482 ]
3483 coclass HTMLDOMTextNode
3484 {
3485     [default]           dispinterface DispHTMLDOMTextNode;
3486                         interface IHTMLDOMTextNode;
3487                         interface IHTMLDOMTextNode2;
3488                         interface IHTMLDOMNode;
3489                         interface IHTMLDOMNode2;
3490 }
3491
3492 /*****************************************************************************
3493  *    IHTMLDOMImplementation interface
3494  */
3495 [
3496     odl,
3497     oleautomation,
3498     dual,
3499     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3500 ]
3501 interface IHTMLDOMImplementation : IDispatch
3502 {
3503     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3504     HRESULT hasFeature(
3505         [in] BSTR bstrfeature,
3506         [optional, in] VARIANT version,
3507         [retval, out] VARIANT_BOOL *pfHasFeature);
3508 }
3509
3510 /*****************************************************************************
3511  *    DispHTMLDOMTextNode dispinterface
3512  */
3513 [
3514     hidden,
3515     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3516 ]
3517 dispinterface DispHTMLDOMTextNode
3518 {
3519 properties:
3520 methods:
3521     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3522     void data(BSTR v);
3523
3524     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3525     BSTR data();
3526
3527     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3528     BSTR toString();
3529
3530     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3531     LONG length();
3532
3533     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3534     IHTMLDOMNode *splitText([in] LONG offset);
3535
3536     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3537     BSTR substringData(
3538             [in] LONG offset,
3539             [in] LONG Count);
3540
3541     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3542     void appendData([in] BSTR bstrstring);
3543
3544     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3545     void insertData(
3546             [in] LONG offset,
3547             [in] BSTR bstrstring);
3548
3549     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3550     void deleteData(
3551             [in] LONG offset,
3552             [in] LONG Count);
3553
3554     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3555     void replaceData(
3556             [in] LONG offset,
3557             [in] LONG Count,
3558             [in] BSTR bstrstring);
3559
3560     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3561     LONG nodeType();
3562
3563     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3564     IHTMLDOMNode *parentNode();
3565
3566     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3567     VARIANT_BOOL hasChildNodes();
3568
3569     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3570     IDispatch *childNodes();
3571
3572     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3573     IDispatch *attributes();
3574
3575     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3576     IHTMLDOMNode *insertBefore(
3577             [in] IHTMLDOMNode *newChild,
3578             [in, optional] VARIANT refChild);
3579
3580     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3581     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
3582
3583     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3584     IHTMLDOMNode *replaceChild(
3585             [in] IHTMLDOMNode *newChild,
3586             [in] IHTMLDOMNode *oldChild);
3587
3588     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3589     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
3590
3591     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3592     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
3593
3594     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3595     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
3596
3597     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3598     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
3599
3600     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3601     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
3602
3603     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3604     BSTR nodeName();
3605
3606     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3607     void nodeValue(VARIANT v);
3608
3609     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3610     VARIANT nodeValue();
3611
3612     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3613     IHTMLDOMNode *firstChild();
3614
3615     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3616     IHTMLDOMNode *lastChild();
3617
3618     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3619     IHTMLDOMNode *previousSibling();
3620
3621     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3622     IHTMLDOMNode* nextSibling();
3623
3624     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3625     IDispatch *ownerDocument();
3626 }
3627
3628 /*****************************************************************************
3629  *    IHTMLDOMChildrenCollection interface
3630  */
3631 [
3632     odl,
3633     oleautomation,
3634     dual,
3635     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3636 ]
3637 interface IHTMLDOMChildrenCollection : IDispatch
3638 {
3639     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3640     HRESULT length([out, retval] LONG *p);
3641
3642     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3643     HRESULT _newEnum([out, retval] IUnknown **p);
3644
3645     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3646     HRESULT item(
3647             [in] LONG index,
3648             [out, retval] IDispatch **ppItem);
3649 }
3650
3651 /*****************************************************************************
3652  *    DispDOMChildrenCollection dispinterface
3653  */
3654 [
3655     hidden,
3656     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3657 ]
3658 dispinterface DispDOMChildrenCollection
3659 {
3660 properties:
3661 methods:
3662     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3663     LONG length();
3664
3665     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3666     IUnknown *_newEnum();
3667
3668     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3669     IDispatch *item([in] LONG index);
3670 }
3671
3672 interface IHTMLElementCollection;
3673
3674 /*****************************************************************************
3675  *    IHTMLElement interface
3676  */
3677 [
3678     odl,
3679     dual,
3680     oleautomation,
3681     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3682 ]
3683 interface IHTMLElement : IDispatch
3684 {
3685     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3686     HRESULT setAttribute(
3687         [in] BSTR strAttributeName,
3688         [in] VARIANT AttributeValue,
3689         [defaultvalue(1), in] LONG lFlags);
3690
3691     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3692     HRESULT getAttribute(
3693         [in] BSTR strAttributeName,
3694         [defaultvalue(0), in] LONG lFlags,
3695         [retval, out] VARIANT *AttributeValue);
3696
3697     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3698     HRESULT removeAttribute(
3699         [in] BSTR strAttributeName,
3700         [defaultvalue(1), in] LONG lFlags,
3701         [retval, out] VARIANT_BOOL *pfSuccess);
3702
3703     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3704     HRESULT className([in] BSTR v);
3705
3706     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3707     HRESULT className([retval, out] BSTR *p);
3708
3709     [propput, id(DISPID_IHTMLELEMENT_ID)]
3710     HRESULT id([in] BSTR v);
3711
3712     [propget, id(DISPID_IHTMLELEMENT_ID)]
3713     HRESULT id([retval, out] BSTR *p);
3714
3715     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3716     HRESULT tagName([retval, out] BSTR *p);
3717
3718     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3719     HRESULT parentElement([retval, out] IHTMLElement **p);
3720
3721     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
3722     HRESULT style([retval, out] IHTMLStyle **p);
3723
3724     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
3725     HRESULT onhelp([in] VARIANT v);
3726
3727     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
3728     HRESULT onhelp([retval, out] VARIANT *p);
3729
3730     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
3731     HRESULT onclick([in] VARIANT v);
3732
3733     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
3734     HRESULT onclick([retval, out] VARIANT *p);
3735
3736     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3737     HRESULT ondblclick([in] VARIANT v);
3738
3739     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3740     HRESULT ondblclick([retval, out] VARIANT *p);
3741
3742     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3743     HRESULT onkeydown([in] VARIANT v);
3744
3745     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3746     HRESULT onkeydown([retval, out] VARIANT *p);
3747
3748     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3749     HRESULT onkeyup([in] VARIANT v);
3750
3751     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3752     HRESULT onkeyup([retval, out] VARIANT *p);
3753
3754     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3755     HRESULT onkeypress([in] VARIANT v);
3756
3757     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3758     HRESULT onkeypress([retval, out] VARIANT *p);
3759
3760     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3761     HRESULT onmouseout([in] VARIANT v);
3762
3763     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3764     HRESULT onmouseout([retval, out] VARIANT *p);
3765
3766     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3767     HRESULT onmouseover([in] VARIANT v);
3768
3769     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3770     HRESULT onmouseover([retval, out] VARIANT *p);
3771
3772     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3773     HRESULT onmousemove([in] VARIANT v);
3774
3775     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3776     HRESULT onmousemove([retval, out] VARIANT *p);
3777
3778     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3779     HRESULT onmousedown([in] VARIANT v);
3780
3781     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3782     HRESULT onmousedown([retval, out] VARIANT *p);
3783
3784     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3785     HRESULT onmouseup([in] VARIANT v);
3786
3787     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3788     HRESULT onmouseup([retval, out] VARIANT *p);
3789
3790     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3791     HRESULT document([retval, out] IDispatch **p);
3792
3793     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
3794     HRESULT title([in] BSTR v);
3795
3796     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
3797     HRESULT title([retval, out] BSTR *p);
3798
3799     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3800     HRESULT language([in] BSTR v);
3801
3802     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3803     HRESULT language([retval, out] BSTR *p);
3804
3805     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3806     HRESULT onselectstart([in] VARIANT v);
3807
3808     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3809     HRESULT onselectstart([retval, out] VARIANT *p);
3810
3811     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3812     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
3813
3814     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3815     HRESULT contains(
3816         [in] IHTMLElement *pChild,
3817         [retval, out] VARIANT_BOOL *pfResult);
3818
3819     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
3820     HRESULT sourceIndex([retval, out] LONG *p);
3821
3822     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3823     HRESULT recordNumber([retval, out] VARIANT *p);
3824
3825     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3826     HRESULT lang([in] BSTR v);
3827
3828     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3829     HRESULT lang([retval, out] BSTR *p);
3830
3831     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3832     HRESULT offsetLeft([retval, out] LONG *p);
3833
3834     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3835     HRESULT offsetTop([retval, out] LONG *p);
3836
3837     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3838     HRESULT offsetWidth([retval, out] LONG *p);
3839
3840     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3841     HRESULT offsetHeight([retval, out] LONG *p);
3842
3843     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3844     HRESULT offsetParent([retval, out] IHTMLElement **p);
3845
3846     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3847     HRESULT innerHTML([in] BSTR v);
3848
3849     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3850     HRESULT innerHTML([retval, out] BSTR *p);
3851
3852     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3853     HRESULT innerText([in] BSTR v);
3854
3855     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3856     HRESULT innerText([retval, out] BSTR *p);
3857
3858     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3859     HRESULT outerHTML([in] BSTR v);
3860
3861     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3862     HRESULT outerHTML([retval, out] BSTR *p);
3863
3864     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3865     HRESULT outerText([in] BSTR v);
3866
3867     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3868     HRESULT outerText([retval, out] BSTR *p);
3869
3870     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
3871     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
3872
3873     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
3874     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
3875
3876     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
3877     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
3878
3879     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
3880     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
3881
3882     [id(DISPID_IHTMLELEMENT_CLICK)]
3883     HRESULT click();
3884
3885     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
3886     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
3887
3888     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3889     HRESULT ondragstart([in] VARIANT v);
3890
3891     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3892     HRESULT ondragstart([retval, out] VARIANT *p);
3893
3894     [id(DISPID_IHTMLELEMENT_TOSTRING)]
3895     HRESULT toString([retval, out] BSTR *String);
3896
3897     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3898     HRESULT onbeforeupdate([in] VARIANT v);
3899
3900     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3901     HRESULT onbeforeupdate([retval, out] VARIANT *p);
3902
3903     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3904     HRESULT onafterupdate([in] VARIANT v);
3905
3906     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3907     HRESULT onafterupdate([retval, out] VARIANT *p);
3908
3909     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3910     HRESULT onerrorupdate([in] VARIANT v);
3911
3912     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3913     HRESULT onerrorupdate([retval, out] VARIANT *p);
3914
3915     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3916     HRESULT onrowexit([in] VARIANT v);
3917
3918     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3919     HRESULT onrowexit([retval, out] VARIANT *p);
3920
3921     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3922     HRESULT onrowenter([in] VARIANT v);
3923
3924     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3925     HRESULT onrowenter([retval, out] VARIANT *p);
3926
3927     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3928     HRESULT ondatasetchanged([in] VARIANT v);
3929
3930     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3931     HRESULT ondatasetchanged([retval, out] VARIANT *p);
3932
3933     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3934     HRESULT ondataavailable([in] VARIANT v);
3935
3936     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3937     HRESULT ondataavailable([retval, out] VARIANT *p);
3938
3939     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3940     HRESULT ondatasetcomplete([in] VARIANT v);
3941
3942     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3943     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
3944
3945     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3946     HRESULT onfilterchange([in] VARIANT v);
3947
3948     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3949     HRESULT onfilterchange([retval, out] VARIANT *p);
3950
3951     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3952     HRESULT children([retval, out] IDispatch **p);
3953
3954     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3955     HRESULT all([retval, out] IDispatch **p);
3956 }
3957
3958 /*****************************************************************************
3959  *    IHTMLElement2 interface
3960  */
3961 [
3962     odl,
3963     oleautomation,
3964     dual,
3965     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
3966 ]
3967 interface IHTMLElement2 : IDispatch
3968 {
3969     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3970     HRESULT scopeName([retval, out] BSTR *p);
3971
3972     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3973     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
3974
3975     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3976     HRESULT releaseCapture();
3977
3978     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3979     HRESULT onlosecapture([in] VARIANT v);
3980
3981     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3982     HRESULT onlosecapture([retval, out] VARIANT *p);
3983
3984     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3985     HRESULT componentFromPoint(
3986         [in] LONG x,
3987         [in] LONG y,
3988         [retval, out] BSTR *component);
3989
3990     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3991     HRESULT doScroll([optional, in] VARIANT component);
3992
3993     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3994     HRESULT onscroll([in] VARIANT v);
3995
3996     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3997     HRESULT onscroll([retval, out] VARIANT *p);
3998
3999     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4000     HRESULT ondrag([in] VARIANT v);
4001
4002     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4003     HRESULT ondrag([retval, out] VARIANT *p);
4004
4005     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4006     HRESULT ondragend([in] VARIANT v);
4007
4008     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4009     HRESULT ondragend([retval, out] VARIANT *p);
4010
4011     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4012     HRESULT ondragenter([in] VARIANT v);
4013
4014     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4015     HRESULT ondragenter([retval, out] VARIANT *p);
4016
4017     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4018     HRESULT ondragover([in] VARIANT v);
4019
4020     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4021     HRESULT ondragover([retval, out] VARIANT *p);
4022
4023     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4024     HRESULT ondragleave([in] VARIANT v);
4025
4026     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4027     HRESULT ondragleave([retval, out] VARIANT *p);
4028
4029     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4030     HRESULT ondrop([in] VARIANT v);
4031
4032     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4033     HRESULT ondrop([retval, out] VARIANT *p);
4034
4035     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4036     HRESULT onbeforecut([in] VARIANT v);
4037
4038     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4039     HRESULT onbeforecut([retval, out] VARIANT *p);
4040
4041     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4042     HRESULT oncut([in] VARIANT v);
4043
4044     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4045     HRESULT oncut([retval, out] VARIANT *p);
4046
4047     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4048     HRESULT onbeforecopy([in] VARIANT v);
4049
4050     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4051     HRESULT onbeforecopy([retval, out] VARIANT *p);
4052
4053     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4054     HRESULT oncopy([in] VARIANT v);
4055
4056     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4057     HRESULT oncopy([retval, out] VARIANT *p);
4058
4059     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4060     HRESULT onbeforepaste([in] VARIANT v);
4061
4062     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4063     HRESULT onbeforepaste([retval, out] VARIANT *p);
4064
4065     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4066     HRESULT onpaste([in] VARIANT v);
4067
4068     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4069     HRESULT onpaste([retval, out] VARIANT *p);
4070
4071     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4072     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
4073
4074     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4075     HRESULT onpropertychange([in] VARIANT v);
4076
4077     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4078     HRESULT onpropertychange([retval, out] VARIANT *p);
4079
4080     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4081     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
4082
4083     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4084     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
4085
4086     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4087     HRESULT setExpression(
4088         [in] BSTR propname,
4089         [in] BSTR expression,
4090         [defaultvalue(""), in] BSTR language);
4091
4092     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4093     HRESULT getExpression(
4094         [in] BSTR propname,
4095         [retval, out] VARIANT *expression);
4096
4097     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4098     HRESULT removeExpression(
4099         [in] BSTR propname,
4100         [retval, out] VARIANT_BOOL *pfSuccess);
4101
4102     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4103     HRESULT tabIndex([in] short v);
4104
4105     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4106     HRESULT tabIndex([retval, out] short *p);
4107
4108     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4109     HRESULT focus();
4110
4111     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4112     HRESULT accessKey([in] BSTR v);
4113
4114     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4115     HRESULT accessKey([retval, out] BSTR *p);
4116
4117     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4118     HRESULT onblur([in] VARIANT v);
4119
4120     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4121     HRESULT onblur([retval, out] VARIANT *p);
4122
4123     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4124     HRESULT onfocus([in] VARIANT v);
4125
4126     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4127     HRESULT onfocus([retval, out] VARIANT *p);
4128
4129     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4130     HRESULT onresize([in] VARIANT v);
4131
4132     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4133     HRESULT onresize([retval, out] VARIANT *p);
4134
4135     [id(DISPID_IHTMLELEMENT2_BLUR)]
4136     HRESULT blur();
4137
4138     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4139     HRESULT addFilter([in] IUnknown *pUnk);
4140
4141     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4142     HRESULT removeFilter([in] IUnknown *pUnk);
4143
4144     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4145     HRESULT clientHeight([retval, out] LONG *p);
4146
4147     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4148     HRESULT clientWidth([retval, out] LONG *p);
4149
4150     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4151     HRESULT clientTop([retval, out] LONG *p);
4152
4153     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4154     HRESULT clientLeft([retval, out] LONG *p);
4155
4156     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4157     HRESULT attachEvent(
4158         [in] BSTR event,
4159         [in] IDispatch *pDisp,
4160         [retval, out] VARIANT_BOOL *pfResult);
4161
4162     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4163     HRESULT detachEvent(
4164         [in] BSTR event,
4165         [in] IDispatch *pDisp);
4166
4167     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4168     HRESULT readyState([retval, out] VARIANT *p);
4169
4170     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4171     HRESULT onreadystatechange([in] VARIANT v);
4172
4173     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4174     HRESULT onreadystatechange([retval, out] VARIANT *p);
4175
4176     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4177     HRESULT onrowsdelete([in] VARIANT v);
4178
4179     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4180     HRESULT onrowsdelete([retval, out] VARIANT *p);
4181
4182     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4183     HRESULT onrowsinserted([in] VARIANT v);
4184
4185     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4186     HRESULT onrowsinserted([retval, out] VARIANT *p);
4187
4188     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4189     HRESULT oncellchange([in] VARIANT v);
4190
4191     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4192     HRESULT oncellchange([retval, out] VARIANT *p);
4193
4194     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4195     HRESULT dir([in] BSTR v);
4196
4197     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4198     HRESULT dir([retval, out] BSTR *p);
4199
4200     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4201     HRESULT createControlRange([retval, out] IDispatch **range);
4202
4203     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4204     HRESULT scrollHeight([retval, out] LONG *p);
4205
4206     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4207     HRESULT scrollWidth([retval, out] LONG *p);
4208
4209     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4210     HRESULT scrollTop([in] LONG v);
4211
4212     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4213     HRESULT scrollTop([retval, out] LONG *p);
4214
4215     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4216     HRESULT scrollLeft([in] LONG v);
4217
4218     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4219     HRESULT scrollLeft([retval, out] LONG *p);
4220
4221     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4222     HRESULT clearAttributes();
4223
4224     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
4225     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
4226
4227     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4228     HRESULT oncontextmenu([in] VARIANT v);
4229
4230     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4231     HRESULT oncontextmenu([retval, out] VARIANT *p);
4232
4233     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4234     HRESULT insertAdjacentElement(
4235         [in] BSTR where,
4236         [in] IHTMLElement *insertedElement,
4237         [retval, out] IHTMLElement **inserted);
4238
4239     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4240     HRESULT applyElement(
4241         [in] IHTMLElement *apply,
4242         [in] BSTR where,
4243         [retval, out] IHTMLElement **applied);
4244
4245     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4246     HRESULT getAdjacentText(
4247         [in] BSTR where,
4248         [retval, out] BSTR *text);
4249
4250     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4251     HRESULT replaceAdjacentText(
4252         [in] BSTR where,
4253         [in] BSTR newText,
4254         [retval, out] BSTR *oldText);
4255
4256     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4257     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
4258
4259     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4260     HRESULT addBehavior(
4261         [in] BSTR bstrUrl,
4262         [optional, in] VARIANT *pvarFactory,
4263         [retval, out] LONG *pCookie);
4264
4265     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4266     HRESULT removeBehavior(
4267         [in] LONG cookie,
4268         [retval, out] VARIANT_BOOL *pfResult);
4269
4270     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4271     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
4272
4273     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4274     HRESULT behaviorUrns([retval, out] IDispatch **p);
4275
4276     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4277     HRESULT tagUrn([in] BSTR v);
4278
4279     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4280     HRESULT tagUrn([retval, out] BSTR *p);
4281
4282     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4283     HRESULT onbeforeeditfocus([in] VARIANT v);
4284
4285     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4286     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
4287
4288     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4289     HRESULT readyStateValue([retval, out] LONG *p);
4290
4291     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4292     HRESULT getElementsByTagName(
4293         [in] BSTR v,
4294         [retval, out] IHTMLElementCollection **pelColl);
4295 }
4296
4297
4298 /*****************************************************************************
4299  *    IHTMLElement3 interface
4300  */
4301 [
4302     odl,
4303     oleautomation,
4304     dual,
4305     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
4306 ]
4307 interface IHTMLElement3 : IDispatch
4308 {
4309     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
4310     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
4311
4312     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
4313     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
4314
4315     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
4316     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
4317
4318     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4319     HRESULT onlayoutcomplete([in] VARIANT v);
4320
4321     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4322     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
4323
4324     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4325     HRESULT onpage([in] VARIANT v);
4326
4327     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4328     HRESULT onpage([retval, out] VARIANT * p);
4329
4330     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4331     HRESULT inflateBlock([in] VARIANT_BOOL v);
4332
4333     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4334     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
4335
4336     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4337     HRESULT onbeforedeactivate([in] VARIANT v);
4338
4339     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4340     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
4341
4342     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
4343
4344     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4345     HRESULT contentEditable([in] BSTR v);
4346
4347     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4348     HRESULT contentEditable([retval, out] BSTR * p);
4349
4350     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
4351     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
4352
4353     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4354     HRESULT hideFocus([in] VARIANT_BOOL v);
4355
4356     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4357     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
4358
4359     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4360     HRESULT disabled([in] VARIANT_BOOL v);
4361
4362     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4363     HRESULT disabled([retval, out] VARIANT_BOOL * p);
4364
4365     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4366     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
4367
4368     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4369     HRESULT onmove([in] VARIANT v);
4370
4371     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4372     HRESULT onmove([retval, out] VARIANT * p);
4373
4374     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4375     HRESULT oncontrolselect([in] VARIANT v);
4376
4377     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4378     HRESULT oncontrolselect([retval, out] VARIANT * p);
4379
4380     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4381     HRESULT fireEvent(
4382         [in] BSTR bstrEventName,
4383         [optional, in] VARIANT* pvarEventObject,
4384         [retval, out] VARIANT_BOOL* pfCancelled);
4385
4386     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4387     HRESULT onresizestart([in] VARIANT v);
4388
4389     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4390     HRESULT onresizestart([retval, out] VARIANT * p);
4391
4392     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4393     HRESULT onresizeend([in] VARIANT v);
4394
4395     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4396     HRESULT onresizeend([retval, out] VARIANT * p);
4397
4398     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4399     HRESULT onmovestart([in] VARIANT v);
4400
4401     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4402     HRESULT onmovestart([retval, out] VARIANT * p);
4403
4404     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4405     HRESULT onmoveend([in] VARIANT v);
4406
4407     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4408     HRESULT onmoveend([retval, out] VARIANT * p);
4409
4410     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4411     HRESULT onmouseenter([in] VARIANT v);
4412
4413     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4414     HRESULT onmouseenter([retval, out] VARIANT * p);
4415
4416     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4417     HRESULT onmouseleave([in] VARIANT v);
4418
4419     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4420     HRESULT onmouseleave([retval, out] VARIANT * p);
4421
4422     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4423     HRESULT onactivate([in] VARIANT v);
4424
4425     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4426     HRESULT onactivate([retval, out] VARIANT * p);
4427
4428     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4429     HRESULT ondeactivate([in] VARIANT v);
4430
4431     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4432     HRESULT ondeactivate([retval, out] VARIANT * p);
4433
4434     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
4435     VARIANT_BOOL* pfRet);
4436
4437     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4438     HRESULT glyphMode([retval, out] LONG * p);
4439 };
4440 /*****************************************************************************
4441  *    IHTMLElement4 interface
4442  */
4443 [
4444     odl,
4445     oleautomation,
4446     dual,
4447     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
4448 ]
4449 interface IHTMLElement4 : IDispatch
4450 {
4451     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4452     HRESULT onmousewheel([in] VARIANT v);
4453
4454     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4455     HRESULT onmousewheel([retval, out] VARIANT * p);
4456
4457     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4458     HRESULT normalize();
4459
4460     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4461     HRESULT getAttributeNode([in] BSTR bstrname,
4462         [retval, out] IHTMLDOMAttribute** ppAttribute);
4463
4464     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4465     HRESULT setAttributeNode(
4466         [in] IHTMLDOMAttribute* pattr,
4467         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4468
4469     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4470     HRESULT removeAttributeNode(
4471         [in] IHTMLDOMAttribute* pattr,
4472         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4473
4474     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4475     HRESULT onbeforeactivate([in] VARIANT v);
4476
4477     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4478     HRESULT onbeforeactivate([retval, out] VARIANT * p);
4479
4480     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4481     HRESULT onfocusin([in] VARIANT v);
4482
4483     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4484     HRESULT onfocusin([retval, out] VARIANT * p);
4485
4486     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4487     HRESULT onfocusout([in] VARIANT v);
4488
4489     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4490     HRESULT onfocusout([retval, out] VARIANT * p);
4491 };
4492
4493 /*****************************************************************************
4494  *    IHTMLGenericElement interface
4495  */
4496 [
4497     odl,
4498     oleautomation,
4499     dual,
4500     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
4501 ]
4502 interface IHTMLGenericElement : IDispatch
4503 {
4504     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
4505     HRESULT recordset([out, retval] IDispatch **p);
4506
4507     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
4508     HRESULT namedRecordset(
4509             [in] BSTR dataMember,
4510             [in, optional] VARIANT *hierarchy,
4511             [out, retval] IDispatch **ppRecordset);
4512 }
4513
4514 /*****************************************************************************
4515  *    DispHTMLGenericElement dispinterface
4516  */
4517 [
4518     hidden,
4519     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
4520 ]
4521 dispinterface DispHTMLGenericElement
4522 {
4523 properties:
4524 methods:
4525     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4526     void setAttribute(
4527             [in] BSTR strAttributeName,
4528             [in] VARIANT AttributeValue,
4529             [in, defaultvalue(1)] LONG lFlags);
4530
4531     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4532     VARIANT getAttribute(
4533              [in] BSTR strAttributeName,
4534              [in, defaultvalue(0)] LONG lFlags);
4535
4536     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4537     VARIANT_BOOL removeAttribute(
4538             [in] BSTR strAttributeName,
4539             [in, defaultvalue(1)] LONG lFlags);
4540
4541     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4542     void className(BSTR v);
4543
4544     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4545     BSTR className();
4546
4547     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
4548     void id(BSTR v);
4549
4550     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
4551     BSTR id();
4552
4553     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4554     BSTR tagName();
4555
4556     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4557     IHTMLElement *parentElement();
4558
4559     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
4560     IHTMLStyle *style();
4561
4562     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4563     void onhelp(VARIANT v);
4564
4565     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4566     VARIANT onhelp();
4567
4568     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4569     void onclick(VARIANT v);
4570
4571     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4572     VARIANT onclick();
4573
4574     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4575     void ondblclick(VARIANT v);
4576
4577     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4578     VARIANT ondblclick();
4579
4580     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4581     void onkeydown(VARIANT v);
4582
4583     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4584     VARIANT onkeydown();
4585
4586     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4587     void onkeyup(VARIANT v);
4588
4589     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4590     VARIANT onkeyup();
4591
4592     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4593     void onkeypress(VARIANT v);
4594
4595     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4596     VARIANT onkeypress();
4597
4598     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4599     void onmouseout(VARIANT v);
4600
4601     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4602     VARIANT onmouseout();
4603
4604     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4605     void onmouseover(VARIANT v);
4606
4607     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4608     VARIANT onmouseover();
4609
4610     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4611     void onmousemove(VARIANT v);
4612
4613     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4614     VARIANT onmousemove();
4615
4616     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4617     void onmousedown(VARIANT v);
4618
4619     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4620     VARIANT onmousedown();
4621
4622     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4623     void onmouseup(VARIANT v);
4624
4625     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4626     VARIANT onmouseup();
4627
4628     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4629     IDispatch *document();
4630
4631     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4632     void title(BSTR v);
4633
4634     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4635     BSTR title();
4636
4637     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4638     void language(BSTR v);
4639
4640     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4641     BSTR language();
4642
4643     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4644     void onselectstart(VARIANT v);
4645
4646     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4647     VARIANT onselectstart();
4648
4649     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4650     void scrollIntoView([in, optional] VARIANT varargStart);
4651
4652     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4653     VARIANT_BOOL contains([in] IHTMLElement *pChild);
4654
4655     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
4656     LONG sourceIndex();
4657
4658     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4659     VARIANT recordNumber();
4660
4661     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4662     void lang(BSTR v);
4663
4664     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4665     BSTR lang();
4666
4667     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4668     LONG offsetLeft();
4669
4670     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4671     LONG offsetTop();
4672
4673     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4674     LONG offsetWidth();
4675
4676     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4677     LONG offsetHeight();
4678
4679     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4680     IHTMLElement *offsetParent();
4681
4682     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4683     void innerHTML(BSTR v);
4684
4685     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4686     BSTR innerHTML();
4687
4688     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4689     void innerText(BSTR v);
4690
4691     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4692     BSTR innerText();
4693
4694     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4695     void outerHTML(BSTR v);
4696
4697     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4698     BSTR outerHTML();
4699
4700     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4701     void outerText(BSTR v);
4702
4703     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4704     BSTR outerText();
4705
4706     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4707     void insertAdjacentHTML(
4708             [in] BSTR where,
4709             [in] BSTR html);
4710
4711     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4712     void insertAdjacentText(
4713             [in] BSTR where,
4714             [in] BSTR text);
4715
4716     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4717     IHTMLElement *parentTextEdit();
4718
4719     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4720     VARIANT_BOOL isTextEdit();
4721
4722     [id(DISPID_IHTMLELEMENT_CLICK)]
4723     void click();
4724
4725     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4726     IHTMLFiltersCollection *filters();
4727
4728     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4729     void ondragstart(VARIANT v);
4730
4731     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4732     VARIANT ondragstart();
4733
4734     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4735     BSTR toString();
4736
4737     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4738     void onbeforeupdate(VARIANT v);
4739
4740     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4741     VARIANT onbeforeupdate();
4742
4743     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4744     void onafterupdate(VARIANT v);
4745
4746     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4747     VARIANT onafterupdate();
4748
4749     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4750     void onerrorupdate(VARIANT v);
4751
4752     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4753     VARIANT onerrorupdate();
4754
4755     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4756     void onrowexit(VARIANT v);
4757
4758     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4759     VARIANT onrowexit();
4760
4761     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4762     void onrowenter(VARIANT v);
4763
4764     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4765     VARIANT onrowenter();
4766
4767     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4768     void ondatasetchanged(VARIANT v);
4769
4770     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4771     VARIANT ondatasetchanged();
4772
4773     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4774     void ondataavailable(VARIANT v);
4775
4776     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4777     VARIANT ondataavailable();
4778
4779     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4780     void ondatasetcomplete(VARIANT v);
4781
4782     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4783     VARIANT ondatasetcomplete();
4784
4785     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4786     void onfilterchange(VARIANT v);
4787
4788     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4789     VARIANT onfilterchange();
4790
4791     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4792     IDispatch *children();
4793
4794     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4795     IDispatch *all();
4796
4797     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4798     BSTR scopeName();
4799
4800     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4801     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
4802
4803     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4804     void releaseCapture();
4805
4806     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4807     void onlosecapture(VARIANT v);
4808
4809     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4810     VARIANT onlosecapture();
4811
4812     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4813     BSTR componentFromPoint(
4814             [in] LONG x,
4815             [in] LONG y);
4816
4817     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4818     void doScroll([in, optional] VARIANT component);
4819
4820     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4821     void onscroll(VARIANT v);
4822
4823     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4824     VARIANT onscroll();
4825
4826     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4827     void ondrag(VARIANT v);
4828
4829     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4830     VARIANT ondrag();
4831
4832     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4833     void ondragend(VARIANT v);
4834
4835     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4836     VARIANT ondragend();
4837
4838     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4839     void ondragenter(VARIANT v);
4840
4841     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4842     VARIANT ondragenter();
4843
4844     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4845     void ondragover(VARIANT v);
4846
4847     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4848     VARIANT ondragover();
4849
4850     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4851     void ondragleave(VARIANT v);
4852
4853     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4854     VARIANT ondragleave();
4855
4856     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4857     void ondrop(VARIANT v);
4858
4859     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4860     VARIANT ondrop();
4861
4862     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4863     void onbeforecut(VARIANT v);
4864
4865     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4866     VARIANT onbeforecut();
4867
4868     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4869     void oncut(VARIANT v);
4870
4871     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4872     VARIANT oncut();
4873
4874     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4875     void onbeforecopy(VARIANT v);
4876
4877     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4878     VARIANT onbeforecopy();
4879
4880     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4881     void oncopy(VARIANT v);
4882
4883     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4884     VARIANT oncopy();
4885
4886     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4887     void onbeforepaste(VARIANT v);
4888
4889     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4890     VARIANT onbeforepaste();
4891
4892     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4893     void onpaste(VARIANT v);
4894
4895     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4896     VARIANT onpaste();
4897
4898     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4899     IHTMLCurrentStyle *currentStyle();
4900
4901     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4902     void onpropertychange(VARIANT v);
4903
4904     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4905     VARIANT onpropertychange();
4906
4907     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4908     IHTMLRectCollection *getClientRects();
4909
4910     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4911     IHTMLRect *getBoundingClientRect();
4912
4913     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4914     void setExpression(
4915             [in] BSTR propname,
4916             [in] BSTR expression,
4917             [in, defaultvalue("")] BSTR language);
4918
4919     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4920     VARIANT getExpression([in] BSTR propname);
4921
4922     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4923     VARIANT_BOOL removeExpression([in] BSTR propname);
4924
4925     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4926     void tabIndex(short v);
4927
4928     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4929     short tabIndex();
4930
4931     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4932     void focus();
4933
4934     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4935     void accessKey(BSTR v);
4936
4937     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4938     BSTR accessKey();
4939
4940     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4941     void onblur(VARIANT v);
4942
4943     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4944     VARIANT onblur();
4945
4946     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4947     void onfocus(VARIANT v);
4948
4949     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4950     VARIANT onfocus();
4951
4952     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4953     void onresize(VARIANT v);
4954
4955     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4956     VARIANT onresize();
4957
4958     [id(DISPID_IHTMLELEMENT2_BLUR)]
4959     void blur();
4960
4961     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4962     void addFilter([in] IUnknown *pUnk);
4963
4964     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4965     void removeFilter([in] IUnknown *pUnk);
4966
4967     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4968     LONG clientHeight();
4969
4970     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4971     LONG clientWidth();
4972
4973     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4974     LONG clientTop();
4975
4976     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4977     LONG clientLeft();
4978
4979     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4980     VARIANT_BOOL attachEvent(
4981             [in] BSTR event,
4982             [in] IDispatch *pDisp);
4983
4984     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4985     void detachEvent(
4986             [in] BSTR event,
4987             [in] IDispatch *pDisp);
4988
4989     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4990     VARIANT readyState();
4991
4992     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4993     void onreadystatechange(VARIANT v);
4994
4995     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4996     VARIANT onreadystatechange();
4997
4998     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4999     void onrowsdelete(VARIANT v);
5000
5001     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5002     VARIANT onrowsdelete();
5003
5004     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5005     void onrowsinserted(VARIANT v);
5006
5007     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5008      VARIANT onrowsinserted();
5009
5010     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5011      void oncellchange(VARIANT v);
5012
5013     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5014     VARIANT oncellchange();
5015
5016     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5017     void dir(BSTR v);
5018
5019     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5020     BSTR dir();
5021
5022     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5023     IDispatch *createControlRange();
5024
5025     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5026     LONG scrollHeight();
5027
5028     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5029     LONG scrollWidth();
5030
5031     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5032     void scrollTop(LONG v);
5033
5034     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5035     LONG scrollTop();
5036
5037     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5038     void scrollLeft(LONG v);
5039
5040     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5041     LONG scrollLeft();
5042
5043     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5044     void clearAttributes();
5045
5046     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5047     void oncontextmenu(VARIANT v);
5048
5049     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5050     VARIANT oncontextmenu();
5051
5052     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5053     IHTMLElement *insertAdjacentElement(
5054             [in] BSTR where,
5055             [in] IHTMLElement *insertedElement);
5056
5057     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5058     IHTMLElement *applyElement(
5059             [in] IHTMLElement *apply,
5060             [in] BSTR where);
5061
5062     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5063     BSTR getAdjacentText([in] BSTR where);
5064
5065     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5066     BSTR replaceAdjacentText(
5067             [in] BSTR where,
5068             [in] BSTR newText);
5069
5070     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5071     VARIANT_BOOL canHaveChildren();
5072
5073     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5074     LONG addBehavior(
5075             [in] BSTR bstrUrl,
5076             [in, optional] VARIANT *pvarFactory);
5077
5078     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5079     VARIANT_BOOL removeBehavior([in] LONG cookie);
5080
5081     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5082     IHTMLStyle *runtimeStyle();
5083
5084     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5085     IDispatch *behaviorUrns();
5086
5087     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5088     void tagUrn(BSTR v);
5089
5090     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5091     BSTR tagUrn();
5092
5093     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5094     void onbeforeeditfocus(VARIANT v);
5095
5096     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5097     VARIANT onbeforeeditfocus();
5098
5099     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5100     LONG readyStateValue();
5101
5102     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5103     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
5104
5105     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
5106     void mergeAttributes(
5107             [in] IHTMLElement *mergeThis,
5108             [in, optional] VARIANT *pvarFlags);
5109
5110     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5111     VARIANT_BOOL isMultiLine();
5112
5113     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5114     VARIANT_BOOL canHaveHTML();
5115
5116     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5117     void onlayoutcomplete(VARIANT v);
5118
5119     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5120     VARIANT onlayoutcomplete();
5121
5122     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5123     void onpage(VARIANT v);
5124
5125     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5126     VARIANT onpage();
5127
5128     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5129     void inflateBlock(VARIANT_BOOL v);
5130
5131     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5132     VARIANT_BOOL inflateBlock();
5133
5134     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5135     void onbeforedeactivate(VARIANT v);
5136
5137     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5138     VARIANT onbeforedeactivate();
5139
5140     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
5141     void setActive();
5142
5143     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5144     void contentEditable(BSTR v);
5145
5146     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5147     BSTR contentEditable();
5148
5149     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5150     VARIANT_BOOL isContentEditable();
5151
5152     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5153     void hideFocus(VARIANT_BOOL v);
5154
5155     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5156     VARIANT_BOOL hideFocus();
5157
5158     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5159     void disabled(VARIANT_BOOL v);
5160
5161     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5162     VARIANT_BOOL disabled();
5163
5164     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5165     VARIANT_BOOL isDisabled();
5166
5167     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5168     void onmove(VARIANT v);
5169
5170     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5171     VARIANT onmove();
5172
5173     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5174     void oncontrolselect(VARIANT v);
5175
5176     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5177     VARIANT oncontrolselect();
5178
5179     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5180     VARIANT_BOOL fireEvent(
5181             [in] BSTR bstrEventName,
5182             [in, optional] VARIANT *pvarEventObject);
5183
5184     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5185     void onresizestart(VARIANT v);
5186
5187     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5188     VARIANT onresizestart();
5189
5190     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5191     void onresizeend(VARIANT v);
5192
5193     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5194     VARIANT onresizeend();
5195
5196     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5197     void onmovestart(VARIANT v);
5198
5199     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5200     VARIANT onmovestart();
5201
5202     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5203     void onmoveend(VARIANT v);
5204
5205     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5206     VARIANT onmoveend();
5207
5208     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5209     void onmouseenter(VARIANT v);
5210
5211     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5212     VARIANT onmouseenter();
5213
5214     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5215     void onmouseleave(VARIANT v);
5216
5217     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5218     VARIANT onmouseleave();
5219
5220     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5221     void onactivate(VARIANT v);
5222
5223     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5224     VARIANT onactivate();
5225
5226     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5227     void ondeactivate(VARIANT v);
5228
5229     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5230     VARIANT ondeactivate();
5231
5232     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
5233     VARIANT_BOOL dragDrop();
5234
5235     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5236     LONG glyphMode();
5237
5238     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5239     void onmousewheel(VARIANT v);
5240
5241     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5242     VARIANT onmousewheel();
5243
5244     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5245     void normalize();
5246
5247     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5248     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
5249
5250     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5251     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
5252
5253     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5254     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
5255
5256     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5257     void onbeforeactivate(VARIANT v);
5258
5259     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5260     VARIANT onbeforeactivate();
5261
5262     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5263     void onfocusin(VARIANT v);
5264
5265     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5266     VARIANT onfocusin();
5267
5268     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5269     void onfocusout(VARIANT v);
5270
5271     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5272     VARIANT onfocusout();
5273
5274     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5275     LONG uniqueNumber();
5276
5277     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5278     BSTR uniqueID();
5279
5280     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
5281     LONG nodeType();
5282
5283     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
5284     IHTMLDOMNode *parentNode();
5285
5286     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
5287     VARIANT_BOOL hasChildNodes();
5288
5289     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
5290     IDispatch *childNodes();
5291
5292     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
5293     IDispatch *attributes();
5294
5295     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
5296     IHTMLDOMNode *insertBefore(
5297             [in] IHTMLDOMNode *newChild,
5298             [in, optional] VARIANT refChild);
5299
5300     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
5301     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
5302
5303     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
5304     IHTMLDOMNode *replaceChild(
5305             [in] IHTMLDOMNode *newChild,
5306             [in] IHTMLDOMNode *oldChild);
5307
5308     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
5309     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
5310
5311     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
5312     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
5313
5314     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
5315     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
5316
5317     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
5318     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
5319
5320     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
5321     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
5322
5323     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
5324     BSTR nodeName();
5325
5326     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5327     void nodeValue(VARIANT v);
5328
5329     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5330     VARIANT nodeValue();
5331
5332     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
5333     IHTMLDOMNode *firstChild();
5334
5335     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
5336     IHTMLDOMNode *lastChild();
5337
5338     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
5339     IHTMLDOMNode *previousSibling();
5340
5341     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
5342     IHTMLDOMNode *nextSibling();
5343
5344     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
5345     IDispatch *ownerDocument();
5346
5347     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5348     IDispatch *recordset();
5349
5350     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5351     IDispatch *namedRecordset(
5352             [in] BSTR dataMember,
5353             [in, optional] VARIANT *hierarchy);
5354 }
5355
5356 /*****************************************************************************
5357  *    IHTMLStyleSheetRule interface
5358  */
5359 [
5360     odl,
5361     oleautomation,
5362     dual,
5363     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
5364 ]
5365 interface IHTMLStyleSheetRule : IDispatch
5366 {
5367     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5368     HRESULT selectorText([in] BSTR v);
5369
5370     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5371     HRESULT selectorText([retval, out] BSTR *p);
5372
5373     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
5374     HRESULT style([retval, out] IHTMLRuleStyle **p);
5375
5376     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5377     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5378 }
5379
5380 /*****************************************************************************
5381  *    IHTMLStyleSheetRulesCollection interface
5382  */
5383 [
5384     odl,
5385     oleautomation,
5386     dual,
5387     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5388 ]
5389 interface IHTMLStyleSheetRulesCollection : IDispatch
5390 {
5391     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5392     HRESULT length([retval, out] LONG *p);
5393
5394     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5395     HRESULT item(
5396         [in] LONG index,
5397         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5398 }
5399
5400 [
5401     odl,
5402     oleautomation,
5403     dual,
5404     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
5405 ]
5406 interface IHTMLStyleSheetPage : IDispatch
5407 {
5408     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5409     HRESULT selector([retval, out] BSTR *p);
5410
5411     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5412     HRESULT pseudoClass([retval, out] BSTR *p);
5413 }
5414
5415 [
5416     odl,
5417     oleautomation,
5418     dual,
5419     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
5420 ]
5421 interface IHTMLStyleSheetPagesCollection : IDispatch
5422 {
5423     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5424     HRESULT length([retval, out] LONG *p);
5425
5426     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5427     HRESULT item(
5428         [in] LONG index,
5429         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
5430 }
5431
5432 /*****************************************************************************
5433  *    IHTMLStyleSheet interface
5434  */
5435 [
5436     odl,
5437     oleautomation,
5438     dual,
5439     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
5440 ]
5441 interface IHTMLStyleSheet : IDispatch
5442 {
5443     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5444     HRESULT title([in] BSTR v);
5445
5446     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5447     HRESULT title([retval, out] BSTR *p);
5448
5449     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5450     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
5451
5452     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5453     HRESULT owningElement([retval, out] IHTMLElement **p);
5454
5455     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5456     HRESULT disabled([in] VARIANT_BOOL v);
5457
5458     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5459     HRESULT disabled([retval, out] VARIANT_BOOL *p);
5460
5461     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5462     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5463
5464     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5465     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
5466
5467     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5468     HRESULT href([in] BSTR v);
5469
5470     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5471     HRESULT href([retval, out] BSTR *p);
5472
5473     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5474     HRESULT type([retval, out] BSTR *p);
5475
5476     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5477     HRESULT id([retval, out] BSTR *p);
5478
5479     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5480     HRESULT addImport(
5481         [in] BSTR bstrURL,
5482         [defaultvalue(-1), in] LONG lIndex,
5483         [retval, out] LONG *plIndex);
5484
5485     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5486     HRESULT addRule(
5487         [in] BSTR bstrSelector,
5488         [in] BSTR bstrStyle,
5489         [defaultvalue(-1), in] LONG lIndex,
5490         [retval, out] LONG *plNewIndex);
5491
5492     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5493     HRESULT removeImport([in] LONG lIndex);
5494
5495     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5496     HRESULT removeRule([in] LONG lIndex);
5497
5498     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5499     HRESULT media([in] BSTR v);
5500
5501     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5502     HRESULT media([retval, out] BSTR *p);
5503
5504     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5505     HRESULT cssText([in] BSTR v);
5506
5507     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5508     HRESULT cssText([retval, out] BSTR *p);
5509
5510     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5511     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
5512 }
5513
5514 /*****************************************************************************
5515  *    IHTMLStyleSheet2 interface
5516  */
5517 [
5518     odl,
5519     oleautomation,
5520     dual,
5521     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
5522 ]
5523 interface IHTMLStyleSheet2 : IDispatch
5524 {
5525     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
5526     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
5527
5528     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
5529     HRESULT addPageRule(
5530         [in] BSTR bstrSelector,
5531         [in] BSTR bstrStyle,
5532         [defaultvalue(-1), in] LONG lIndex,
5533         [retval, out] LONG *plNewIndex);
5534 }
5535
5536 [
5537     hidden,
5538     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
5539 ]
5540 dispinterface DispHTMLStyleSheet
5541 {
5542 properties:
5543 methods:
5544     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5545     void title(BSTR v);
5546
5547     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5548     BSTR title();
5549
5550     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5551     IHTMLStyleSheet* parentStyleSheet();
5552
5553     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5554     IHTMLElement* owningElement();
5555
5556     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5557     void disabled(VARIANT_BOOL v);
5558
5559     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5560     VARIANT_BOOL disabled();
5561
5562     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5563     VARIANT_BOOL readOnly();
5564
5565     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5566     IHTMLStyleSheetsCollection* imports();
5567
5568     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5569     void href(BSTR v);
5570
5571     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5572     BSTR href();
5573
5574     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5575     BSTR type();
5576
5577     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5578     BSTR id();
5579
5580     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5581     LONG addImport(
5582         [in] BSTR bstrURL,
5583         [defaultvalue(-1), in] LONG lIndex);
5584
5585     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5586     LONG addRule(
5587         [in] BSTR bstrSelector,
5588         [in] BSTR bstrStyle,
5589         [defaultvalue(-1), in] LONG lIndex);
5590
5591     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5592     void removeImport([in] LONG lIndex);
5593
5594     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5595     void removeRule([in] LONG lIndex);
5596
5597     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5598     void media(BSTR v);
5599
5600     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5601     BSTR media();
5602
5603     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5604     void cssText(BSTR v);
5605
5606     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5607     BSTR cssText();
5608
5609     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5610     IHTMLStyleSheetRulesCollection* rules();
5611
5612     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
5613     IHTMLStyleSheetPagesCollection* pages();
5614
5615     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
5616     LONG addPageRule(
5617         [in] BSTR bstrSelector,
5618         [in] BSTR bstrStyle,
5619         [defaultvalue(-1), in] LONG lIndex);
5620 }
5621
5622 [
5623     noncreatable,
5624     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
5625 ]
5626 coclass HTMLStyleSheet
5627 {
5628     [default]           dispinterface DispHTMLStyleSheet;
5629                         interface IHTMLStyleSheet;
5630                         interface IHTMLStyleSheet2;
5631 }
5632
5633 /*****************************************************************************
5634  *    IHTMLStyleSheetsCollection interface
5635  */
5636 [
5637     odl,
5638     oleautomation,
5639     dual,
5640     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
5641 ]
5642 interface IHTMLStyleSheetsCollection : IDispatch
5643 {
5644     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
5645     HRESULT length([retval, out] LONG *p);
5646
5647     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
5648     HRESULT _newEnum([retval, out] IUnknown **p);
5649
5650     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
5651     HRESULT item(
5652         [in] VARIANT *pvarIndex,
5653         [retval, out] VARIANT *pvarResult);
5654 }
5655
5656 /*****************************************************************************
5657  *    IHTMLTxtRange interface
5658  */
5659 [
5660     odl,
5661     oleautomation,
5662     dual,
5663     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
5664 ]
5665 interface IHTMLTxtRange : IDispatch
5666 {
5667     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
5668     HRESULT htmlText([retval, out] BSTR *p);
5669
5670     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
5671     HRESULT text([in] BSTR v);
5672
5673     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
5674     HRESULT text([retval, out] BSTR *p);
5675
5676     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
5677     HRESULT parentElement([retval, out] IHTMLElement **parent);
5678
5679     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
5680     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
5681
5682     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
5683     HRESULT inRange(
5684         [in] IHTMLTxtRange *Range,
5685         [retval, out] VARIANT_BOOL *InRange);
5686
5687     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
5688     HRESULT isEqual(
5689         [in] IHTMLTxtRange *Range,
5690         [retval, out] VARIANT_BOOL *IsEqual);
5691
5692     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
5693     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
5694
5695     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
5696     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
5697
5698     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
5699     HRESULT expand(
5700         [in] BSTR Unit,
5701         [retval, out] VARIANT_BOOL *Success);
5702
5703     [id(DISPID_IHTMLTXTRANGE_MOVE)]
5704     HRESULT move(
5705         [in] BSTR Unit,
5706         [defaultvalue(1), in] LONG Count,
5707         [retval, out] LONG *ActualCount);
5708
5709     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
5710     HRESULT moveStart(
5711         [in] BSTR Unit,
5712         [defaultvalue(1), in] LONG Count,
5713         [retval, out] LONG *ActualCount);
5714
5715     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
5716     HRESULT moveEnd(
5717         [in] BSTR Unit,
5718         [defaultvalue(1), in] LONG Count,
5719         [retval, out] LONG *ActualCount);
5720
5721     [id(DISPID_IHTMLTXTRANGE_SELECT)]
5722     HRESULT select();
5723
5724     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
5725     HRESULT pasteHTML([in] BSTR html);
5726
5727     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
5728     HRESULT moveToElementText([in] IHTMLElement *element);
5729
5730     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
5731     HRESULT setEndPoint(
5732         [in] BSTR how,
5733         [in] IHTMLTxtRange *SourceRange);
5734
5735     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
5736     HRESULT compareEndPoints(
5737         [in] BSTR how,
5738         [in] IHTMLTxtRange *SourceRange,
5739         [retval, out] LONG *ret);
5740
5741     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
5742     HRESULT findText(
5743         [in] BSTR String,
5744         [defaultvalue(1073741823), in] LONG count,
5745         [defaultvalue(0), in] LONG Flags,
5746         [retval, out] VARIANT_BOOL *Success);
5747
5748     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
5749     HRESULT moveToPoint(
5750         [in] LONG x,
5751         [in] LONG y);
5752
5753     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
5754     HRESULT getBookmark([retval, out] BSTR *Boolmark);
5755
5756     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
5757     HRESULT moveToBookmark(
5758         [in] BSTR Bookmark,
5759         [retval, out] VARIANT_BOOL *Success);
5760
5761     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
5762     HRESULT queryCommandSupported(
5763         [in] BSTR cmdID,
5764         [retval, out] VARIANT_BOOL *pfRet);
5765
5766     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
5767     HRESULT queryCommandEnabled(
5768         [in] BSTR cmdID,
5769         [retval, out] VARIANT_BOOL *pfRet);
5770
5771     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
5772     HRESULT queryCommandState(
5773         [in] BSTR cmdID,
5774         [retval, out] VARIANT_BOOL *pfRet);
5775
5776     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
5777     HRESULT queryCommandIndeterm(
5778         [in] BSTR cmdID,
5779         [retval, out] VARIANT_BOOL *pfRet);
5780
5781     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
5782     HRESULT queryCommandText(
5783         [in] BSTR cmdID,
5784         [retval, out] BSTR *pcmdText);
5785
5786     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
5787     HRESULT queryCommandValue(
5788         [in] BSTR cmdID,
5789         [retval, out] VARIANT *pcmdValue);
5790
5791     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
5792     HRESULT execCommand(
5793         [in] BSTR cmdID,
5794         [defaultvalue(0), in] VARIANT_BOOL showUI,
5795         [optional, in] VARIANT value,
5796         [retval, out] VARIANT_BOOL *pfRet);
5797
5798     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
5799     HRESULT execCommandShowHelp(
5800         [in] BSTR cmdID,
5801         [retval, out] VARIANT_BOOL *pfRet);
5802 }
5803
5804 [
5805     noncreatable,
5806     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
5807 ]
5808 coclass HTMLStyleSheetsCollection
5809 {
5810     [default]           interface IHTMLStyleSheetsCollection;
5811 }
5812
5813 /*****************************************************************************
5814  *    IHTMLFormElement interface
5815  */
5816 [
5817     odl,
5818     oleautomation,
5819     dual,
5820     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
5821 ]
5822 interface IHTMLFormElement : IDispatch
5823 {
5824     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5825     HRESULT action([in] BSTR v);
5826
5827     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5828     HRESULT action([retval, out] BSTR *p);
5829
5830     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
5831     HRESULT dir([in] BSTR v);
5832
5833     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
5834     HRESULT dir([retval, out] BSTR *p);
5835
5836     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5837     HRESULT encoding([in] BSTR v);
5838
5839     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5840     HRESULT encoding([retval, out] BSTR *p);
5841
5842     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5843     HRESULT method([in] BSTR v);
5844
5845     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5846     HRESULT method([retval, out] BSTR *p);
5847
5848     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
5849     HRESULT elements([retval, out] IDispatch **p);
5850
5851     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5852     HRESULT target([in] BSTR v);
5853
5854     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5855     HRESULT target([retval, out] BSTR *p);
5856
5857     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
5858     HRESULT name([in] BSTR v);
5859
5860     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
5861     HRESULT name([retval, out] BSTR *p);
5862
5863     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
5864     HRESULT onsubmit([in] VARIANT v);
5865
5866     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
5867     HRESULT onsubmit([retval, out] VARIANT *p);
5868
5869     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
5870     HRESULT onreset([in] VARIANT v);
5871
5872     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
5873     HRESULT onreset([retval, out] VARIANT *p);
5874
5875     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
5876     HRESULT submit();
5877
5878     [id(DISPID_IHTMLFORMELEMENT_RESET)]
5879     HRESULT reset();
5880
5881     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
5882     HRESULT length([in] LONG v);
5883
5884     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
5885     HRESULT length([retval, out] LONG *p);
5886
5887     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
5888     HRESULT _newEnum([retval, out] IUnknown **p);
5889
5890     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
5891     HRESULT item(
5892         [optional, in] VARIANT name,
5893         [optional, in] VARIANT index,
5894         [retval, out] IDispatch **pdisp);
5895
5896     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
5897     HRESULT tags(
5898         [in] VARIANT tagName,
5899         [retval, out] IDispatch **pdisp);
5900 }
5901
5902 /*****************************************************************************
5903  *    IHTMLTextContainer interface
5904  */
5905 [
5906     odl,
5907     oleautomation,
5908     dual,
5909     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
5910 ]
5911 interface IHTMLTextContainer : IDispatch
5912 {
5913     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
5914     HRESULT createControlRange([retval, out] IDispatch **range);
5915
5916     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
5917     HRESULT scrollHeight([retval, out] LONG *p);
5918
5919     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
5920     HRESULT scrollWidth([retval, out] LONG *p);
5921
5922     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5923     HRESULT scrollTop([in] LONG v);
5924
5925     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
5926     HRESULT scrollTop([retval, out] LONG *p);
5927
5928     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5929     HRESULT scrollLeft([in] LONG v);
5930
5931     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
5932     HRESULT scrollLeft([retval, out] LONG *p);
5933
5934     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5935     HRESULT onscroll([in] VARIANT v);
5936
5937     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
5938     HRESULT onscroll([retval, out] VARIANT *p);
5939 }
5940
5941 /*****************************************************************************
5942  *    IHTMLImgElement interface
5943  */
5944 [
5945     odl,
5946     oleautomation,
5947     dual,
5948     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
5949 ]
5950 interface IHTMLImgElement : IDispatch
5951 {
5952     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5953     HRESULT isMap([in] VARIANT_BOOL v);
5954
5955     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
5956     HRESULT isMap([retval, out] VARIANT_BOOL *p);
5957
5958     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5959     HRESULT useMap([in] BSTR v);
5960
5961     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
5962     HRESULT useMap([retval, out] BSTR *p);
5963
5964     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
5965     HRESULT mimeType([retval, out] BSTR *p);
5966
5967     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
5968     HRESULT fileSize([retval, out] BSTR *p);
5969
5970     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
5971     HRESULT fileCreatedDate([retval, out] BSTR *p);
5972
5973     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
5974     HRESULT fileModifiedDate([retval, out] BSTR *p);
5975
5976     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
5977     HRESULT fileUpdatedDate([retval, out] BSTR *p);
5978
5979     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
5980     HRESULT protocol([retval, out] BSTR *p);
5981
5982     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
5983     HRESULT href([retval, out] BSTR *p);
5984
5985     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
5986     HRESULT nameProp([retval, out] BSTR *p);
5987
5988     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5989     HRESULT border([in] VARIANT v);
5990
5991     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
5992     HRESULT border([retval, out] VARIANT *p);
5993
5994     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5995     HRESULT vspace([in] LONG v);
5996
5997     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
5998     HRESULT vspace([retval, out] LONG *p);
5999
6000     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
6001     HRESULT hspace([in] LONG v);
6002
6003     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
6004     HRESULT hspace([retval, out] LONG *p);
6005
6006     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
6007     HRESULT alt([in] BSTR v);
6008
6009     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
6010     HRESULT alt([retval, out] BSTR *p);
6011
6012     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
6013     HRESULT src([in] BSTR v);
6014
6015     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
6016     HRESULT src([retval, out] BSTR *p);
6017
6018     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
6019     HRESULT lowsrc([in] BSTR v);
6020
6021     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
6022     HRESULT lowsrc([retval, out] BSTR *p);
6023
6024     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
6025     HRESULT vrml([in] BSTR v);
6026
6027     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
6028     HRESULT vrml([retval, out] BSTR *p);
6029
6030     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
6031     HRESULT dynsrc([in] BSTR v);
6032
6033     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
6034     HRESULT dynsrc([retval, out] BSTR *p);
6035
6036     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
6037     HRESULT readyState([retval, out] BSTR *p);
6038
6039     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6040     HRESULT complete([retval, out] VARIANT_BOOL *p);
6041
6042     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
6043     HRESULT loop([in] VARIANT v);
6044
6045     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
6046     HRESULT loop([retval, out] VARIANT *p);
6047
6048     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
6049     HRESULT align([in] BSTR v);
6050
6051     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
6052     HRESULT align([retval, out] BSTR *p);
6053
6054     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
6055     HRESULT onload([in] VARIANT v);
6056
6057     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
6058     HRESULT onload([retval, out] VARIANT *p);
6059
6060     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
6061     HRESULT onerror([in] VARIANT v);
6062
6063     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
6064     HRESULT onerror([retval, out] VARIANT *p);
6065
6066     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
6067     HRESULT onabort([in] VARIANT v);
6068
6069     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
6070     HRESULT onabort([retval, out] VARIANT *p);
6071
6072     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
6073     HRESULT name([in] BSTR v);
6074
6075     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
6076     HRESULT name([retval, out] BSTR *p);
6077
6078     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6079     HRESULT width([in] LONG v);
6080
6081     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6082     HRESULT width([retval, out] LONG *p);
6083
6084     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6085     HRESULT height([in] LONG v);
6086
6087     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6088     HRESULT height([retval, out] LONG *p);
6089
6090     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
6091     HRESULT start([in] BSTR v);
6092
6093     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
6094     HRESULT start([retval, out] BSTR *p);
6095 }
6096
6097 /*****************************************************************************
6098  *    IHTMLImageElementFactory interface
6099  */
6100 [
6101     odl,
6102     oleautomation,
6103     dual,
6104     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
6105 ]
6106 interface IHTMLImageElementFactory : IDispatch
6107 {
6108     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
6109     HRESULT create(
6110         [optional, in] VARIANT width,
6111         [optional, in] VARIANT height,
6112         [retval, out]  IHTMLImgElement **elem);
6113 }
6114
6115 /*****************************************************************************
6116  *    DispHTMLImg interface
6117  */
6118 [
6119     hidden,
6120     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
6121 ]
6122 dispinterface DispHTMLImg
6123 {
6124 properties:
6125 methods:
6126     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
6127     void setAttribute(
6128             [in] BSTR strAttributeName,
6129             [in] VARIANT AttributeValue,
6130             [in, defaultvalue(1)] LONG lFlags);
6131
6132     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
6133     VARIANT getAttribute(
6134              [in] BSTR strAttributeName,
6135              [in, defaultvalue(0)] LONG lFlags);
6136
6137     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
6138     VARIANT_BOOL removeAttribute(
6139             [in] BSTR strAttributeName,
6140             [in, defaultvalue(1)] LONG lFlags);
6141
6142     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6143     void className(BSTR v);
6144
6145     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6146     BSTR className();
6147
6148     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
6149     void id(BSTR v);
6150
6151     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
6152     BSTR id();
6153
6154     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
6155     BSTR tagName();
6156
6157     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
6158     IHTMLElement *parentElement();
6159
6160     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
6161     IHTMLStyle *style();
6162
6163     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6164     void onhelp(VARIANT v);
6165
6166     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6167     VARIANT onhelp();
6168
6169     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6170     void onclick(VARIANT v);
6171
6172     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6173     VARIANT onclick();
6174
6175     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6176     void ondblclick(VARIANT v);
6177
6178     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6179     VARIANT ondblclick();
6180
6181     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6182     void onkeydown(VARIANT v);
6183
6184     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6185     VARIANT onkeydown();
6186
6187     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6188     void onkeyup(VARIANT v);
6189
6190     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6191     VARIANT onkeyup();
6192
6193     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6194     void onkeypress(VARIANT v);
6195
6196     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6197     VARIANT onkeypress();
6198
6199     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6200     void onmouseout(VARIANT v);
6201
6202     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6203     VARIANT onmouseout();
6204
6205     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6206     void onmouseover(VARIANT v);
6207
6208     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6209     VARIANT onmouseover();
6210
6211     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6212     void onmousemove(VARIANT v);
6213
6214     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6215     VARIANT onmousemove();
6216
6217     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6218     void onmousedown(VARIANT v);
6219
6220     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6221     VARIANT onmousedown();
6222
6223     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6224     void onmouseup(VARIANT v);
6225
6226     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6227     VARIANT onmouseup();
6228
6229     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
6230     IDispatch *document();
6231
6232     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6233     void title(BSTR v);
6234
6235     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6236     BSTR title();
6237
6238     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6239     void language(BSTR v);
6240
6241     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6242     BSTR language();
6243
6244     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6245     void onselectstart(VARIANT v);
6246
6247     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6248     VARIANT onselectstart();
6249
6250     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
6251     void scrollIntoView([in, optional] VARIANT varargStart);
6252
6253     [id(DISPID_IHTMLELEMENT_CONTAINS)]
6254     VARIANT_BOOL contains([in] IHTMLElement *pChild);
6255
6256     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
6257     LONG sourceIndex();
6258
6259     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
6260     VARIANT recordNumber();
6261
6262     [propput, id(DISPID_IHTMLELEMENT_LANG)]
6263     void lang(BSTR v);
6264
6265     [propget, id(DISPID_IHTMLELEMENT_LANG)]
6266     BSTR lang();
6267
6268     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
6269     LONG offsetLeft();
6270
6271     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
6272     LONG offsetTop();
6273
6274     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
6275     LONG offsetWidth();
6276
6277     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
6278     LONG offsetHeight();
6279
6280     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
6281     IHTMLElement *offsetParent();
6282
6283     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
6284     void innerHTML(BSTR v);
6285
6286     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
6287     BSTR innerHTML();
6288
6289     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6290     void innerText(BSTR v);
6291
6292     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6293     BSTR innerText();
6294
6295     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6296     void outerHTML(BSTR v);
6297
6298     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6299     BSTR outerHTML();
6300
6301     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6302     void outerText(BSTR v);
6303
6304     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6305     BSTR outerText();
6306
6307     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
6308     void insertAdjacentHTML(
6309             [in] BSTR where,
6310             [in] BSTR html);
6311
6312     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
6313     void insertAdjacentText(
6314             [in] BSTR where,
6315             [in] BSTR text);
6316
6317     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
6318     IHTMLElement *parentTextEdit();
6319
6320     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
6321     VARIANT_BOOL isTextEdit();
6322
6323     [id(DISPID_IHTMLELEMENT_CLICK)]
6324     void click();
6325
6326     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
6327     IHTMLFiltersCollection *filters();
6328
6329     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6330     void ondragstart(VARIANT v);
6331
6332     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6333     VARIANT ondragstart();
6334
6335     [id(DISPID_IHTMLELEMENT_TOSTRING)]
6336     BSTR toString();
6337
6338     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6339     void onbeforeupdate(VARIANT v);
6340
6341     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6342     VARIANT onbeforeupdate();
6343
6344     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6345     void onafterupdate(VARIANT v);
6346
6347     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6348     VARIANT onafterupdate();
6349
6350     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6351     void onerrorupdate(VARIANT v);
6352
6353     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6354     VARIANT onerrorupdate();
6355
6356     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6357     void onrowexit(VARIANT v);
6358
6359     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6360     VARIANT onrowexit();
6361
6362     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6363     void onrowenter(VARIANT v);
6364
6365     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6366     VARIANT onrowenter();
6367
6368     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6369     void ondatasetchanged(VARIANT v);
6370
6371     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6372     VARIANT ondatasetchanged();
6373
6374     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6375     void ondataavailable(VARIANT v);
6376
6377     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6378     VARIANT ondataavailable();
6379
6380     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6381     void ondatasetcomplete(VARIANT v);
6382
6383     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6384     VARIANT ondatasetcomplete();
6385
6386     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6387     void onfilterchange(VARIANT v);
6388
6389     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6390     VARIANT onfilterchange();
6391
6392     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
6393     IDispatch *children();
6394
6395     [propget, id(DISPID_IHTMLELEMENT_ALL)]
6396     IDispatch *all();
6397
6398     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
6399     BSTR scopeName();
6400
6401     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
6402     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
6403
6404     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
6405     void releaseCapture();
6406
6407     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6408     void onlosecapture(VARIANT v);
6409
6410     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6411     VARIANT onlosecapture();
6412
6413     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
6414     BSTR componentFromPoint(
6415             [in] LONG x,
6416             [in] LONG y);
6417
6418     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
6419     void doScroll([in, optional] VARIANT component);
6420
6421     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6422     void onscroll(VARIANT v);
6423
6424     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6425     VARIANT onscroll();
6426
6427     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6428     void ondrag(VARIANT v);
6429
6430     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6431     VARIANT ondrag();
6432
6433     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6434     void ondragend(VARIANT v);
6435
6436     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6437     VARIANT ondragend();
6438
6439     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6440     void ondragenter(VARIANT v);
6441
6442     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6443     VARIANT ondragenter();
6444
6445     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6446     void ondragover(VARIANT v);
6447
6448     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6449     VARIANT ondragover();
6450
6451     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6452     void ondragleave(VARIANT v);
6453
6454     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6455     VARIANT ondragleave();
6456
6457     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6458     void ondrop(VARIANT v);
6459
6460     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6461     VARIANT ondrop();
6462
6463     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6464     void onbeforecut(VARIANT v);
6465
6466     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6467     VARIANT onbeforecut();
6468
6469     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6470     void oncut(VARIANT v);
6471
6472     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6473     VARIANT oncut();
6474
6475     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6476     void onbeforecopy(VARIANT v);
6477
6478     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6479     VARIANT onbeforecopy();
6480
6481     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6482     void oncopy(VARIANT v);
6483
6484     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6485     VARIANT oncopy();
6486
6487     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6488     void onbeforepaste(VARIANT v);
6489
6490     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6491     VARIANT onbeforepaste();
6492
6493     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6494     void onpaste(VARIANT v);
6495
6496     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6497     VARIANT onpaste();
6498
6499     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
6500     IHTMLCurrentStyle *currentStyle();
6501
6502     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6503     void onpropertychange(VARIANT v);
6504
6505     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6506     VARIANT onpropertychange();
6507
6508     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
6509     IHTMLRectCollection *getClientRects();
6510
6511     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
6512     IHTMLRect *getBoundingClientRect();
6513
6514     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
6515     void setExpression(
6516             [in] BSTR propname,
6517             [in] BSTR expression,
6518             [in, defaultvalue("")] BSTR language);
6519
6520     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
6521     VARIANT getExpression([in] BSTR propname);
6522
6523     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
6524     VARIANT_BOOL removeExpression([in] BSTR propname);
6525
6526     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6527     void tabIndex(short v);
6528
6529     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6530     short tabIndex();
6531
6532     [id(DISPID_IHTMLELEMENT2_FOCUS)]
6533     void focus();
6534
6535     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6536     void accessKey(BSTR v);
6537
6538     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6539     BSTR accessKey();
6540
6541     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6542     void onblur(VARIANT v);
6543
6544     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6545     VARIANT onblur();
6546
6547     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6548     void onfocus(VARIANT v);
6549
6550     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6551     VARIANT onfocus();
6552
6553     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6554     void onresize(VARIANT v);
6555
6556     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6557     VARIANT onresize();
6558
6559     [id(DISPID_IHTMLELEMENT2_BLUR)]
6560     void blur();
6561
6562     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
6563     void addFilter([in] IUnknown *pUnk);
6564
6565     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
6566     void removeFilter([in] IUnknown *pUnk);
6567
6568     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
6569     LONG clientHeight();
6570
6571     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
6572     LONG clientWidth();
6573
6574     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
6575     LONG clientTop();
6576
6577     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
6578     LONG clientLeft();
6579
6580     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
6581     VARIANT_BOOL attachEvent(
6582             [in] BSTR event,
6583             [in] IDispatch *pDisp);
6584
6585     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
6586     void detachEvent(
6587             [in] BSTR event,
6588             [in] IDispatch *pDisp);
6589
6590     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
6591     VARIANT readyState();
6592
6593     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6594     void onreadystatechange(VARIANT v);
6595
6596     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6597     VARIANT onreadystatechange();
6598
6599     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6600     void onrowsdelete(VARIANT v);
6601
6602     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6603     VARIANT onrowsdelete();
6604
6605     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6606     void onrowsinserted(VARIANT v);
6607
6608     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6609      VARIANT onrowsinserted();
6610
6611     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6612      void oncellchange(VARIANT v);
6613
6614     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6615     VARIANT oncellchange();
6616
6617     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6618     void dir(BSTR v);
6619
6620     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6621     BSTR dir();
6622
6623     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
6624     IDispatch *createControlRange();
6625
6626     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
6627     LONG scrollHeight();
6628
6629     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
6630     LONG scrollWidth();
6631
6632     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6633     void scrollTop(LONG v);
6634
6635     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6636     LONG scrollTop();
6637
6638     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6639     void scrollLeft(LONG v);
6640
6641     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6642     LONG scrollLeft();
6643
6644     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
6645     void clearAttributes();
6646
6647     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6648     void oncontextmenu(VARIANT v);
6649
6650     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6651     VARIANT oncontextmenu();
6652
6653     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
6654     IHTMLElement *insertAdjacentElement(
6655             [in] BSTR where,
6656             [in] IHTMLElement *insertedElement);
6657
6658     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
6659     IHTMLElement *applyElement(
6660             [in] IHTMLElement *apply,
6661             [in] BSTR where);
6662
6663     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
6664     BSTR getAdjacentText([in] BSTR where);
6665
6666     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
6667     BSTR replaceAdjacentText(
6668             [in] BSTR where,
6669             [in] BSTR newText);
6670
6671     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
6672     VARIANT_BOOL canHaveChildren();
6673
6674     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
6675     LONG addBehavior(
6676             [in] BSTR bstrUrl,
6677             [in, optional] VARIANT *pvarFactory);
6678
6679     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
6680     VARIANT_BOOL removeBehavior([in] LONG cookie);
6681
6682     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
6683     IHTMLStyle *runtimeStyle();
6684
6685     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
6686     IDispatch *behaviorUrns();
6687
6688     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
6689     void tagUrn(BSTR v);
6690
6691     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
6692     BSTR tagUrn();
6693
6694     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6695     void onbeforeeditfocus(VARIANT v);
6696
6697     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6698     VARIANT onbeforeeditfocus();
6699
6700     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
6701     LONG readyStateValue();
6702
6703     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
6704     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
6705
6706     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
6707     void mergeAttributes(
6708             [in] IHTMLElement *mergeThis,
6709             [in, optional] VARIANT *pvarFlags);
6710
6711     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
6712     VARIANT_BOOL isMultiLine();
6713
6714     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
6715     VARIANT_BOOL canHaveHTML();
6716
6717     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6718     void onlayoutcomplete(VARIANT v);
6719
6720     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6721     VARIANT onlayoutcomplete();
6722
6723     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6724     void onpage(VARIANT v);
6725
6726     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6727     VARIANT onpage();
6728
6729     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6730     void inflateBlock(VARIANT_BOOL v);
6731
6732     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6733     VARIANT_BOOL inflateBlock();
6734
6735     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6736     void onbeforedeactivate(VARIANT v);
6737
6738     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6739     VARIANT onbeforedeactivate();
6740
6741     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
6742     void setActive();
6743
6744     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6745     void contentEditable(BSTR v);
6746
6747     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6748     BSTR contentEditable();
6749
6750     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
6751     VARIANT_BOOL isContentEditable();
6752
6753     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6754     void hideFocus(VARIANT_BOOL v);
6755
6756     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6757     VARIANT_BOOL hideFocus();
6758
6759     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6760     void disabled(VARIANT_BOOL v);
6761
6762     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6763     VARIANT_BOOL disabled();
6764
6765     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
6766     VARIANT_BOOL isDisabled();
6767
6768     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6769     void onmove(VARIANT v);
6770
6771     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6772     VARIANT onmove();
6773
6774     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6775     void oncontrolselect(VARIANT v);
6776
6777     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6778     VARIANT oncontrolselect();
6779
6780     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
6781     VARIANT_BOOL fireEvent(
6782             [in] BSTR bstrEventName,
6783             [in, optional] VARIANT *pvarEventObject);
6784
6785     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6786     void onresizestart(VARIANT v);
6787
6788     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6789     VARIANT onresizestart();
6790
6791     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6792     void onresizeend(VARIANT v);
6793
6794     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6795     VARIANT onresizeend();
6796
6797     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6798     void onmovestart(VARIANT v);
6799
6800     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6801     VARIANT onmovestart();
6802
6803     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6804     void onmoveend(VARIANT v);
6805
6806     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6807     VARIANT onmoveend();
6808
6809     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6810     void onmouseenter(VARIANT v);
6811
6812     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6813     VARIANT onmouseenter();
6814
6815     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6816     void onmouseleave(VARIANT v);
6817
6818     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6819     VARIANT onmouseleave();
6820
6821     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6822     void onactivate(VARIANT v);
6823
6824     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6825     VARIANT onactivate();
6826
6827     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6828     void ondeactivate(VARIANT v);
6829
6830     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6831     VARIANT ondeactivate();
6832
6833     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
6834     VARIANT_BOOL dragDrop();
6835
6836     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
6837     LONG glyphMode();
6838
6839     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6840     void onmousewheel(VARIANT v);
6841
6842     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6843     VARIANT onmousewheel();
6844
6845     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
6846     void normalize();
6847
6848     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
6849     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
6850
6851     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
6852     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
6853
6854     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
6855     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
6856
6857     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6858     void onbeforeactivate(VARIANT v);
6859
6860     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6861     VARIANT onbeforeactivate();
6862
6863     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6864     void onfocusin(VARIANT v);
6865
6866     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6867     VARIANT onfocusin();
6868
6869     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6870     void onfocusout(VARIANT v);
6871
6872     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6873     VARIANT onfocusout();
6874
6875     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
6876     LONG uniqueNumber();
6877
6878     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
6879     BSTR uniqueID();
6880
6881     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
6882     LONG nodeType();
6883
6884     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
6885     IHTMLDOMNode *parentNode();
6886
6887     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
6888     VARIANT_BOOL hasChildNodes();
6889
6890     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
6891     IDispatch *childNodes();
6892
6893     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
6894     IDispatch *attributes();
6895
6896     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
6897     IHTMLDOMNode *insertBefore(
6898             [in] IHTMLDOMNode *newChild,
6899             [in, optional] VARIANT refChild);
6900
6901     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
6902     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
6903
6904     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
6905     IHTMLDOMNode *replaceChild(
6906             [in] IHTMLDOMNode *newChild,
6907             [in] IHTMLDOMNode *oldChild);
6908
6909     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
6910     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
6911
6912     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
6913     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
6914
6915     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
6916     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
6917
6918     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
6919     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
6920
6921     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
6922     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
6923
6924     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
6925     BSTR nodeName();
6926
6927     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6928     void nodeValue(VARIANT v);
6929
6930     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
6931     VARIANT nodeValue();
6932
6933     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
6934     IHTMLDOMNode *firstChild();
6935
6936     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
6937     IHTMLDOMNode *lastChild();
6938
6939     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
6940     IHTMLDOMNode *previousSibling();
6941
6942     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
6943     IHTMLDOMNode *nextSibling();
6944
6945     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
6946     IDispatch *ownerDocument();
6947
6948     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6949     void dataFld(BSTR v);
6950
6951     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
6952     BSTR dataFld();
6953
6954     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
6955     void dataSrc(BSTR v);
6956
6957     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
6958     BSTR dataSrc();
6959
6960     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6961     void dataFormatAs(BSTR v);
6962
6963     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
6964     BSTR dataFormatAs();
6965
6966     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6967     void isMap(VARIANT_BOOL v);
6968
6969     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
6970     VARIANT_BOOL isMap();
6971
6972     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6973     void useMap(BSTR v);
6974
6975     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
6976     BSTR useMap();
6977
6978     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6979     BSTR mimeType();
6980
6981     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6982     BSTR fileSize();
6983
6984     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6985     BSTR fileCreatedDate();
6986
6987     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6988     BSTR fileModifiedDate();
6989
6990     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6991     BSTR fileUpdatedDate();
6992
6993     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6994     BSTR protocol();
6995
6996     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6997     BSTR href();
6998
6999     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7000     BSTR nameProp();
7001
7002     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7003     void border(VARIANT v);
7004
7005     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7006     VARIANT border();
7007
7008     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7009     void vspace(LONG v);
7010
7011     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7012     LONG vspace();
7013
7014     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7015     void hspace(LONG v);
7016
7017     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7018     LONG hspace();
7019
7020     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7021     void alt(BSTR v);
7022
7023     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7024     BSTR alt();
7025
7026     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7027     void src(BSTR v);
7028
7029     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7030     BSTR src();
7031
7032     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7033     void lowsrc(BSTR v);
7034
7035     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7036     BSTR lowsrc();
7037
7038     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7039     void vrml(BSTR v);
7040
7041     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7042     BSTR vrml();
7043
7044     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7045     void dynsrc(BSTR v);
7046
7047     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7048     BSTR dynsrc();
7049
7050     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7051     VARIANT_BOOL complete();
7052
7053     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7054     void loop(VARIANT v);
7055
7056     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7057     VARIANT loop();
7058
7059     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7060     void align(BSTR v);
7061
7062     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7063     BSTR align();
7064
7065     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7066     void onload(VARIANT v);
7067
7068     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7069     VARIANT onload();
7070
7071     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7072     void onerror(VARIANT v);
7073
7074     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7075     VARIANT onerror();
7076
7077     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7078     void onabort(VARIANT v);
7079
7080     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7081     VARIANT onabort();
7082
7083     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7084     void name(BSTR v);
7085
7086     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7087     BSTR name();
7088
7089     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7090     void width(LONG v);
7091
7092     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7093     LONG width();
7094
7095     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7096     void height(LONG v);
7097
7098     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7099     LONG height();
7100
7101     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7102     void start(BSTR v);
7103
7104     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7105     BSTR start();
7106
7107     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7108     void longDesc(BSTR v);
7109
7110     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7111     BSTR longDesc();
7112 };
7113
7114 /*****************************************************************************
7115  *    IHTMLUniqueName interface
7116  */
7117 [
7118     odl,
7119     oleautomation,
7120     dual,
7121     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
7122 ]
7123 interface IHTMLUniqueName : IDispatch
7124 {
7125     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
7126     HRESULT uniqueNumber([retval, out] LONG * p);
7127
7128     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
7129     HRESULT uniqueID([retval, out] BSTR * p);
7130 };
7131
7132 [
7133     odl,
7134     oleautomation,
7135     dual,
7136     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
7137 ]
7138 interface IHTMLDatabinding : IDispatch
7139 {
7140     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7141     HRESULT dataFld([in] BSTR v);
7142
7143     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7144     HRESULT dataFld([retval, out] BSTR * p);
7145
7146     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
7147     HRESULT dataSrc([in] BSTR v);
7148
7149     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
7150     HRESULT dataSrc([retval, out] BSTR * p);
7151
7152     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7153     HRESULT dataFormatAs([in] BSTR v);
7154
7155     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7156     HRESULT dataFormatAs([retval, out] BSTR * p);
7157 };
7158
7159 /*****************************************************************************
7160  *    IHTMLControlElement interface
7161  */
7162 [
7163     odl,
7164     oleautomation,
7165     dual,
7166     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7167 ]
7168 interface IHTMLControlElement : IDispatch
7169 {
7170     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7171     HRESULT tabIndex([in] short v);
7172
7173     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7174     HRESULT tabIndex([retval, out] short * p);
7175
7176     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7177     HRESULT focus();
7178
7179     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7180     HRESULT accessKey([in] BSTR v);
7181
7182     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7183     HRESULT accessKey([retval, out] BSTR * p);
7184
7185     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7186     HRESULT onblur([in] VARIANT v);
7187
7188     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7189     HRESULT onblur([retval, out] VARIANT * p);
7190
7191     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7192     HRESULT onfocus([in] VARIANT v);
7193
7194     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7195     HRESULT onfocus([retval, out] VARIANT * p);
7196
7197     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7198     HRESULT onresize([in] VARIANT v);
7199
7200     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7201     HRESULT onresize([retval, out] VARIANT * p);
7202
7203     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7204     HRESULT blur();
7205
7206     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7207     HRESULT addFilter([in] IUnknown* pUnk);
7208
7209     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7210     HRESULT removeFilter([in] IUnknown* pUnk);
7211
7212     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7213     HRESULT clientHeight([retval, out] LONG * p);
7214
7215     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7216     HRESULT clientWidth([retval, out] LONG * p);
7217
7218     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7219     HRESULT clientTop([retval, out] LONG * p);
7220
7221     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7222     HRESULT clientLeft([retval, out] LONG * p);
7223 };
7224
7225 /*****************************************************************************
7226  *    IHTMLBodyElement interface
7227  */
7228 [
7229     odl,
7230     oleautomation,
7231     dual,
7232     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7233 ]
7234 interface IHTMLBodyElement : IDispatch
7235 {
7236     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7237     HRESULT background([in] BSTR v);
7238
7239     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7240     HRESULT background([retval, out] BSTR *p);
7241
7242     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7243     HRESULT bgProperties([in] BSTR v);
7244
7245     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7246     HRESULT bgProperties([retval, out] BSTR *p);
7247
7248     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7249     HRESULT leftMargin([in] VARIANT v);
7250
7251     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7252     HRESULT leftMargin([retval, out] VARIANT *p);
7253
7254     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7255     HRESULT topMargin([in] VARIANT v);
7256
7257     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7258     HRESULT topMargin([retval, out] VARIANT *p);
7259
7260     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7261     HRESULT rightMargin([in] VARIANT v);
7262
7263     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7264     HRESULT rightMargin([retval, out] VARIANT *p);
7265
7266     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7267     HRESULT bottomMargin([in] VARIANT v);
7268
7269     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7270     HRESULT bottomMargin([retval, out] VARIANT *p);
7271
7272     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7273     HRESULT noWrap([in] VARIANT_BOOL v);
7274
7275     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7276     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7277
7278     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7279     HRESULT bgColor([in] VARIANT v);
7280
7281     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7282     HRESULT bgColor([retval, out] VARIANT *p);
7283
7284     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7285     HRESULT text([in] VARIANT v);
7286
7287     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7288     HRESULT text([retval, out] VARIANT *p);
7289
7290     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7291     HRESULT link([in] VARIANT v);
7292
7293     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7294     HRESULT link([retval, out] VARIANT *p);
7295
7296     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7297     HRESULT vLink([in] VARIANT v);
7298
7299     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7300     HRESULT vLink([retval, out] VARIANT *p);
7301
7302     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7303     HRESULT aLink([in] VARIANT v);
7304
7305     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7306     HRESULT aLink([retval, out] VARIANT *p);
7307
7308     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7309     HRESULT onload([in] VARIANT v);
7310
7311     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7312     HRESULT onload([retval, out] VARIANT *p);
7313
7314     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7315     HRESULT onunload([in] VARIANT v);
7316
7317     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7318     HRESULT onunload([retval, out] VARIANT *p);
7319
7320     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7321     HRESULT scroll([in] BSTR v);
7322
7323     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7324     HRESULT scroll([retval, out] BSTR *p);
7325
7326     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7327     HRESULT onselect([in] VARIANT v);
7328
7329     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7330     HRESULT onselect([retval, out] VARIANT *p);
7331
7332     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7333     HRESULT onbeforeunload([in] VARIANT v);
7334
7335     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7336     HRESULT onbeforeunload([retval, out] VARIANT *p);
7337
7338     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7339     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7340 }
7341
7342 /*****************************************************************************
7343  *    IHTMLBodyElement2 interface
7344  */
7345 [
7346     odl,
7347     oleautomation,
7348     dual,
7349     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7350 ]
7351 interface IHTMLBodyElement2 : IDispatch
7352 {
7353     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7354     HRESULT onbeforeprint([in] VARIANT v);
7355
7356     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7357     HRESULT onbeforeprint([retval, out] VARIANT *p);
7358
7359     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7360     HRESULT onafterprint([in] VARIANT v);
7361
7362     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7363     HRESULT onafterprint([retval, out] VARIANT *p);
7364 }
7365
7366 [
7367     hidden,
7368     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
7369 ]
7370 dispinterface DispHTMLBody
7371 {
7372 properties:
7373 methods:
7374     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
7375     void setAttribute(
7376         [in] BSTR strAttributeName,
7377         [in] VARIANT AttValue,
7378         [defaultvalue(1), in] LONG lFlags);
7379
7380     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
7381     VARIANT getAttribute(
7382         [in] BSTR strAttributeName,
7383         [defaultvalue(0), in] LONG lFlags);
7384
7385     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
7386     VARIANT_BOOL removeAttribute(
7387         [in] BSTR strAttributeName,
7388         [defaultvalue(1), in] LONG lFlags);
7389
7390     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7391     void className(BSTR v);
7392
7393     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7394     BSTR className();
7395
7396     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
7397     void id(BSTR v);
7398
7399     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
7400     BSTR id();
7401
7402     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
7403     BSTR tagName();
7404
7405     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
7406     IHTMLElement* parentElement();
7407
7408     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
7409     IHTMLStyle* style();
7410
7411     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7412     void onhelp(VARIANT v);
7413
7414     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7415     VARIANT onhelp();
7416
7417     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7418     void onclick(VARIANT v);
7419
7420     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7421     VARIANT onclick();
7422
7423     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7424     void ondblclick(VARIANT v);
7425
7426     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7427     VARIANT ondblclick();
7428
7429     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7430     void onkeydown(VARIANT v);
7431
7432     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7433     VARIANT onkeydown();
7434
7435     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7436     void onkeyup(VARIANT v);
7437
7438     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7439     VARIANT onkeyup();
7440
7441     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7442     void onkeypress(VARIANT v);
7443
7444     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7445     VARIANT onkeypress();
7446
7447     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7448     void onmouseout(VARIANT v);
7449
7450     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7451     VARIANT onmouseout();
7452
7453     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7454     void onmouseover(VARIANT v);
7455
7456     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7457     VARIANT onmouseover();
7458
7459     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7460     void onmousemove(VARIANT v);
7461
7462     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7463     VARIANT onmousemove();
7464
7465     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7466     void onmousedown(VARIANT v);
7467
7468     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7469     VARIANT onmousedown();
7470
7471     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7472     void onmouseup(VARIANT v);
7473
7474     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7475     VARIANT onmouseup();
7476
7477     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
7478
7479     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7480     void title(BSTR v);
7481
7482     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7483     BSTR title();
7484
7485     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7486     void language(BSTR v);
7487
7488     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7489     BSTR language();
7490
7491     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7492     void onselectstart(VARIANT v);
7493
7494     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7495     VARIANT onselectstart();
7496
7497     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
7498     void scrollIntoView([optional, in] VARIANT varargStart);
7499
7500     [id(DISPID_IHTMLELEMENT_CONTAINS)]
7501     VARIANT_BOOL contains([in] IHTMLElement* pChild);
7502
7503     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
7504     LONG sourceIndex();
7505
7506     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
7507     VARIANT recordNumber();
7508
7509     [propput, id(DISPID_IHTMLELEMENT_LANG)]
7510     void lang(BSTR v);
7511
7512     [propget, id(DISPID_IHTMLELEMENT_LANG)]
7513     BSTR lang();
7514
7515     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
7516     LONG offsetLeft();
7517
7518     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
7519     LONG offsetTop();
7520
7521     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
7522     LONG offsetWidth();
7523
7524     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
7525     LONG offsetHeight();
7526
7527     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
7528     IHTMLElement* offsetParent();
7529
7530     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
7531     void innerHTML(BSTR v);
7532
7533     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
7534     BSTR innerHTML();
7535
7536     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7537     void innerText(BSTR v);
7538
7539     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7540     BSTR innerText();
7541
7542     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7543     void outerHTML(BSTR v);
7544
7545     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7546     BSTR outerHTML();
7547
7548     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7549     void outerText(BSTR v);
7550
7551     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7552     BSTR outerText();
7553
7554     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
7555     void insertAdjacentHTML(
7556         [in] BSTR where,
7557         [in] BSTR html);
7558
7559     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
7560     void insertAdjacentText(
7561         [in] BSTR where,
7562         [in] BSTR text);
7563
7564     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
7565     IHTMLElement* parentTextEdit();
7566
7567     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
7568     VARIANT_BOOL isTextEdit();
7569
7570     [id(DISPID_IHTMLELEMENT_CLICK)] void click();
7571
7572     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
7573     IHTMLFiltersCollection* filters();
7574
7575     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7576     void ondragstart(VARIANT v);
7577
7578     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7579     VARIANT ondragstart();
7580
7581     [id(DISPID_IHTMLELEMENT_TOSTRING)]
7582     BSTR toString();
7583
7584     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7585     void onbeforeupdate(VARIANT v);
7586
7587     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7588     VARIANT onbeforeupdate();
7589
7590     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7591     void onafterupdate(VARIANT v);
7592
7593     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7594     VARIANT onafterupdate();
7595
7596     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7597     void onerrorupdate(VARIANT v);
7598
7599     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7600     VARIANT onerrorupdate();
7601
7602     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7603     void onrowexit(VARIANT v);
7604
7605     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7606     VARIANT onrowexit();
7607
7608     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7609     void onrowenter(VARIANT v);
7610
7611     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7612     VARIANT onrowenter();
7613
7614     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7615     void ondatasetchanged(VARIANT v);
7616
7617     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7618     VARIANT ondatasetchanged();
7619
7620     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7621     void ondataavailable(VARIANT v);
7622
7623     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7624     VARIANT ondataavailable();
7625
7626     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7627     void ondatasetcomplete(VARIANT v);
7628
7629     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7630     VARIANT ondatasetcomplete();
7631
7632     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7633     void onfilterchange(VARIANT v);
7634
7635     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7636     VARIANT onfilterchange();
7637
7638     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
7639     IDispatch* children();
7640
7641     [propget, id(DISPID_IHTMLELEMENT_ALL)]
7642     IDispatch* all();
7643
7644     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
7645     BSTR scopeName();
7646
7647     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
7648     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
7649
7650     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
7651     void releaseCapture();
7652
7653     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7654     void onlosecapture(VARIANT v);
7655
7656     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7657     VARIANT onlosecapture();
7658
7659     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
7660     BSTR componentFromPoint([in] LONG x,[in] LONG y);
7661
7662     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
7663     void doScroll([optional, in] VARIANT component);
7664
7665     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7666     void onscroll(VARIANT v);
7667
7668     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7669     VARIANT onscroll();
7670
7671     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7672     void ondrag(VARIANT v);
7673
7674     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7675     VARIANT ondrag();
7676
7677     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7678     void ondragend(VARIANT v);
7679
7680     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7681     VARIANT ondragend();
7682
7683     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7684     void ondragenter(VARIANT v);
7685
7686     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7687     VARIANT ondragenter();
7688
7689     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7690     void ondragover(VARIANT v);
7691
7692     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7693     VARIANT ondragover();
7694
7695     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7696     void ondragleave(VARIANT v);
7697
7698     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7699     VARIANT ondragleave();
7700
7701     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7702      void ondrop(VARIANT v);
7703
7704     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7705     VARIANT ondrop();
7706
7707     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7708     void onbeforecut(VARIANT v);
7709
7710     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7711     VARIANT onbeforecut();
7712
7713     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7714     void oncut(VARIANT v);
7715
7716     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7717     VARIANT oncut();
7718
7719     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7720     void onbeforecopy(VARIANT v);
7721
7722     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7723     VARIANT onbeforecopy();
7724
7725     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7726     void oncopy(VARIANT v);
7727
7728     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7729     VARIANT oncopy();
7730
7731     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7732     void onbeforepaste(VARIANT v);
7733
7734     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7735      VARIANT onbeforepaste();
7736
7737     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7738     void onpaste(VARIANT v);
7739
7740     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7741     VARIANT onpaste();
7742
7743     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
7744     IHTMLCurrentStyle* currentStyle();
7745
7746     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7747     void onpropertychange(VARIANT v);
7748
7749     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7750     VARIANT onpropertychange();
7751
7752     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
7753     IHTMLRectCollection* getClientRects();
7754
7755     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
7756     IHTMLRect* getBoundingClientRect();
7757
7758     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
7759     void setExpression(
7760         [in] BSTR propname,
7761         [in] BSTR expr,
7762         [defaultvalue(""), in] BSTR lang);
7763
7764     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
7765     VARIANT getExpression([in] BSTR propname);
7766
7767     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
7768     VARIANT_BOOL removeExpression([in] BSTR propname);
7769
7770     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7771     void tabIndex(short v);
7772
7773     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7774     short tabIndex();
7775
7776     [id(DISPID_IHTMLELEMENT2_FOCUS)]
7777     void focus();
7778
7779     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7780     void accessKey(BSTR v);
7781
7782     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7783     BSTR accessKey();
7784
7785     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7786     void onblur(VARIANT v);
7787
7788     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7789      VARIANT onblur();
7790
7791     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7792     void onfocus(VARIANT v);
7793
7794     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7795     VARIANT onfocus();
7796
7797     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7798     void onresize(VARIANT v);
7799
7800     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7801     VARIANT onresize();
7802
7803     [id(DISPID_IHTMLELEMENT2_BLUR)]
7804     void blur();
7805
7806     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
7807     void addFilter([in] IUnknown* pUnk);
7808
7809     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
7810     void removeFilter([in] IUnknown* pUnk);
7811
7812     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
7813     LONG clientHeight();
7814
7815     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
7816     LONG clientWidth();
7817
7818     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
7819     LONG clientTop();
7820
7821     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
7822     LONG clientLeft();
7823
7824     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
7825     VARIANT_BOOL attachEvent(
7826         [in] BSTR event,
7827         [in] IDispatch* pDisp);
7828
7829     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
7830     void detachEvent(
7831         [in] BSTR event,
7832         [in] IDispatch* pDisp);
7833
7834     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
7835
7836     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7837      void onreadystatechange(VARIANT v);
7838
7839     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7840     VARIANT onreadystatechange();
7841
7842     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7843     void onrowsdelete(VARIANT v);
7844
7845     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7846     VARIANT onrowsdelete();
7847
7848     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7849     void onrowsinserted(VARIANT v);
7850
7851     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7852     VARIANT onrowsinserted();
7853
7854     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7855     void oncellchange(VARIANT v);
7856
7857     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7858     VARIANT oncellchange();
7859
7860     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7861     void dir(BSTR v);
7862
7863     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7864     BSTR dir();
7865
7866     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
7867     IDispatch* createControlRange();
7868
7869     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
7870     LONG scrollHeight();
7871
7872     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
7873     LONG scrollWidth();
7874
7875     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7876     void scrollTop(LONG v);
7877
7878     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7879     LONG scrollTop();
7880
7881     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7882     void scrollLeft(LONG v);
7883
7884     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7885     LONG scrollLeft();
7886
7887     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
7888     void clearAttributes();
7889
7890     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7891     void oncontextmenu(VARIANT v);
7892
7893     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7894     VARIANT oncontextmenu();
7895
7896     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
7897     IHTMLElement* insertAdjacentElement(
7898         [in] BSTR where,
7899         [in] IHTMLElement* insertedElement);
7900
7901     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
7902     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
7903
7904     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
7905     BSTR getAdjacentText([in] BSTR where);
7906
7907     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
7908     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
7909
7910     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
7911     VARIANT_BOOL canHaveChildren();
7912
7913     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
7914     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
7915
7916     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
7917     VARIANT_BOOL removeBehavior([in] LONG cookie);
7918
7919     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
7920     IHTMLStyle* runtimeStyle();
7921
7922     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
7923     IDispatch* behaviorUrns();
7924
7925     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
7926     void tagUrn(BSTR v);
7927
7928     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
7929     BSTR tagUrn();
7930
7931     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7932     void onbeforeeditfocus(VARIANT v);
7933
7934     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7935     VARIANT onbeforeeditfocus();
7936
7937     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
7938     LONG readyStateValue();
7939
7940     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
7941     IHTMLElementCollection* getElementsByTagName([in] BSTR v);
7942
7943     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
7944     void mergeAttributes(
7945         [in] IHTMLElement* mergeThis,
7946         [optional, in] VARIANT* pvarFlags);
7947
7948     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
7949     VARIANT_BOOL isMultiLine();
7950
7951     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
7952     VARIANT_BOOL canHaveHTML();
7953
7954     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7955     void onlayoutcomplete(VARIANT v);
7956
7957     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7958     VARIANT onlayoutcomplete();
7959
7960     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7961     void onpage(VARIANT v);
7962
7963     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7964     VARIANT onpage();
7965
7966     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7967     void inflateBlock(VARIANT_BOOL v);
7968
7969     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7970     VARIANT_BOOL inflateBlock();
7971
7972     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7973     void onbeforedeactivate(VARIANT v);
7974
7975     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7976     VARIANT onbeforedeactivate();
7977
7978     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
7979     void setActive();
7980
7981     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7982     void contentEditable(BSTR v);
7983
7984     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7985     BSTR contentEditable();
7986
7987     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
7988     VARIANT_BOOL isContentEditable();
7989
7990     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7991     void hideFocus(VARIANT_BOOL v);
7992
7993     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7994     VARIANT_BOOL hideFocus();
7995
7996     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7997     void disabled(VARIANT_BOOL v);
7998
7999     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8000     VARIANT_BOOL disabled();
8001
8002     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
8003     VARIANT_BOOL isDisabled();
8004
8005     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8006     void onmove(VARIANT v);
8007
8008     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8009     VARIANT onmove();
8010
8011     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8012     void oncontrolselect(VARIANT v);
8013
8014     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8015     VARIANT oncontrolselect();
8016
8017     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
8018     VARIANT_BOOL fireEvent(
8019         [in] BSTR bstrEventName,
8020         [optional, in] VARIANT* pvarEventObject);
8021
8022     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8023      void onresizestart(VARIANT v);
8024
8025     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8026     VARIANT onresizestart();
8027
8028     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8029     void onresizeend(VARIANT v);
8030
8031     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8032     VARIANT onresizeend();
8033
8034     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8035     void onmovestart(VARIANT v);
8036
8037     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8038     VARIANT onmovestart();
8039
8040     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8041     void onmoveend(VARIANT v);
8042
8043     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8044     VARIANT onmoveend();
8045
8046     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8047     void onmouseenter(VARIANT v);
8048
8049     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8050     VARIANT onmouseenter();
8051
8052     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8053     void onmouseleave(VARIANT v);
8054
8055     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8056     VARIANT onmouseleave();
8057
8058     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8059     void onactivate(VARIANT v);
8060     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
8061
8062     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8063     void ondeactivate(VARIANT v);
8064
8065     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8066     VARIANT ondeactivate();
8067
8068     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
8069     VARIANT_BOOL dragDrop();
8070
8071     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
8072     LONG glyphMode();
8073
8074     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8075     void onmousewheel(VARIANT v);
8076
8077     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8078     VARIANT onmousewheel();
8079
8080     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
8081     void normalize();
8082
8083     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
8084      IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
8085
8086     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
8087     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
8088
8089     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
8090     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
8091
8092     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8093     void onbeforeactivate(VARIANT v);
8094
8095     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8096     VARIANT onbeforeactivate();
8097
8098     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8099     void onfocusin(VARIANT v);
8100
8101     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8102     VARIANT onfocusin();
8103
8104     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8105     void onfocusout(VARIANT v);
8106
8107     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8108     VARIANT onfocusout();
8109
8110     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
8111     LONG uniqueNumber();
8112
8113     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
8114     BSTR uniqueID();
8115
8116     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
8117     LONG nodeType();
8118
8119     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
8120     IHTMLDOMNode* parentNode();
8121
8122     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
8123     VARIANT_BOOL hasChildNodes();
8124
8125     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
8126     IDispatch* childNodes();
8127
8128     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
8129     IDispatch* attributes();
8130
8131     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
8132     IHTMLDOMNode* insertBefore(
8133         [in] IHTMLDOMNode* newChild,
8134         [optional, in] VARIANT refChild);
8135
8136     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
8137     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
8138
8139     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
8140     IHTMLDOMNode* replaceChild(
8141         [in] IHTMLDOMNode* newChild,
8142         [in] IHTMLDOMNode* oldChild);
8143
8144     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
8145     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
8146
8147     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
8148     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
8149
8150     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
8151     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
8152
8153     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
8154     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
8155
8156     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
8157     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
8158
8159     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
8160     BSTR nodeName();
8161
8162     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8163     void nodeValue(VARIANT v);
8164
8165     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8166     VARIANT nodeValue();
8167
8168     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
8169     IHTMLDOMNode* firstChild();
8170
8171     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
8172     IHTMLDOMNode* lastChild();
8173
8174     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
8175     IHTMLDOMNode* previousSibling();
8176
8177     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
8178     IHTMLDOMNode* nextSibling();
8179
8180     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
8181     IDispatch* ownerDocument();
8182
8183     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8184     void background(BSTR v);
8185
8186     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8187     BSTR background();
8188
8189     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8190     void bgProperties(BSTR v);
8191
8192     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8193     BSTR bgProperties();
8194
8195     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8196     void leftMargin(VARIANT v);
8197
8198     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8199     VARIANT leftMargin();
8200
8201     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8202     void topMargin(VARIANT v);
8203
8204     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8205     VARIANT topMargin();
8206
8207     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8208     void rightMargin(VARIANT v);
8209
8210     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8211     VARIANT rightMargin();
8212
8213     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8214     void bottomMargin(VARIANT v);
8215
8216     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8217     VARIANT bottomMargin();
8218
8219     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8220     void noWrap(VARIANT_BOOL v);
8221
8222     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8223     VARIANT_BOOL noWrap();
8224
8225     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8226     void bgColor(VARIANT v);
8227
8228     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8229     VARIANT bgColor();
8230
8231     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8232     void text(VARIANT v);
8233
8234     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8235     VARIANT text();
8236
8237     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8238     void link(VARIANT v);
8239
8240     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8241     VARIANT link();
8242
8243     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8244     void vLink(VARIANT v);
8245
8246     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8247     VARIANT vLink();
8248
8249     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8250     void aLink(VARIANT v);
8251
8252     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8253     VARIANT aLink();
8254
8255     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8256     void onload(VARIANT v);
8257
8258     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8259     VARIANT onload();
8260
8261     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8262     void onunload(VARIANT v);
8263
8264     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8265     VARIANT onunload();
8266
8267     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8268     void scroll(BSTR v);
8269
8270     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8271     BSTR scroll();
8272
8273     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8274     void onselect(VARIANT v);
8275
8276     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8277     VARIANT onselect();
8278
8279     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8280     void onbeforeunload(VARIANT v);
8281
8282     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8283     VARIANT onbeforeunload();
8284
8285     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8286     IHTMLTxtRange* createTextRange();
8287
8288     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8289     void onbeforeprint(VARIANT v);
8290
8291     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8292     VARIANT onbeforeprint();
8293
8294     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8295     void onafterprint(VARIANT v);
8296
8297     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8298     VARIANT onafterprint();
8299 };
8300
8301 [
8302     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8303 ]
8304 coclass HTMLBody
8305 {
8306     [default]           dispinterface DispHTMLBody;
8307     [source, default]   dispinterface HTMLTextContainerEvents;
8308     [source]            dispinterface HTMLTextContainerEvents2;
8309                         interface IHTMLElement;
8310                         interface IHTMLElement2;
8311                         interface IHTMLElement3;
8312                         interface IHTMLElement4;
8313                         interface IHTMLUniqueName;
8314                         interface IHTMLDOMNode;
8315                         interface IHTMLDOMNode2;
8316                         interface IHTMLControlElement;
8317                         interface IHTMLTextContainer;
8318                         interface IHTMLBodyElement;
8319                         interface IHTMLBodyElement2;
8320 };
8321
8322 /*****************************************************************************
8323  *    IHTMLAnchorElement interface
8324  */
8325 [
8326     odl,
8327     oleautomation,
8328     dual,
8329     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8330 ]
8331 interface IHTMLAnchorElement : IDispatch
8332 {
8333     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8334     HRESULT href([in] BSTR v);
8335
8336     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8337     HRESULT href([retval, out] BSTR *p);
8338
8339     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8340     HRESULT target([in] BSTR v);
8341
8342     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8343     HRESULT target([retval, out] BSTR *p);
8344
8345     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8346     HRESULT rel([in] BSTR v);
8347
8348     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8349     HRESULT rel([retval, out] BSTR *p);
8350
8351     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8352     HRESULT rev([in] BSTR v);
8353
8354     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8355     HRESULT rev([retval, out] BSTR *p);
8356
8357     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8358     HRESULT urn([in] BSTR v);
8359
8360     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8361     HRESULT urn([retval, out] BSTR *p);
8362
8363     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8364     HRESULT Methods([in] BSTR v);
8365
8366     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8367     HRESULT Methods([retval, out] BSTR *p);
8368
8369     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8370     HRESULT name([in] BSTR v);
8371
8372     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8373     HRESULT name([retval, out] BSTR *p);
8374
8375     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8376     HRESULT host([in] BSTR v);
8377
8378     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8379     HRESULT host([retval, out] BSTR *p);
8380
8381     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8382     HRESULT hostname([in] BSTR v);
8383
8384     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8385     HRESULT hostname([retval, out] BSTR *p);
8386
8387     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8388     HRESULT pathname([in] BSTR v);
8389
8390     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8391     HRESULT pathname([retval, out] BSTR *p);
8392
8393     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8394     HRESULT port([in] BSTR v);
8395
8396     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8397     HRESULT port([retval, out] BSTR *p);
8398
8399     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8400     HRESULT protocol([in] BSTR v);
8401
8402     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8403     HRESULT protocol([retval, out] BSTR *p);
8404
8405     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8406     HRESULT search([in] BSTR v);
8407
8408     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8409     HRESULT search([retval, out] BSTR *p);
8410
8411     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8412     HRESULT hash([in] BSTR v);
8413
8414     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8415     HRESULT hash([retval, out] BSTR *p);
8416
8417     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8418     HRESULT onblur([in] VARIANT v);
8419
8420     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8421     HRESULT onblur([retval, out] VARIANT *p);
8422
8423     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8424     HRESULT onfocus([in] VARIANT v);
8425
8426     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8427     HRESULT onfocus([retval, out] VARIANT *p);
8428
8429     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8430     HRESULT accessKey([in] BSTR v);
8431
8432     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8433     HRESULT accessKey([retval, out] BSTR *p);
8434
8435     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8436     HRESULT protocolLong([retval, out] BSTR *p);
8437
8438     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8439     HRESULT mimeType([retval, out] BSTR *p);
8440
8441     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8442     HRESULT nameProp([retval, out] BSTR *p);
8443
8444     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8445     HRESULT tabIndex([in] short v);
8446
8447     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8448     HRESULT tabIndex([retval, out] short *p);
8449
8450     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8451     HRESULT focus();
8452
8453     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8454     HRESULT blur();
8455 }
8456
8457 /*****************************************************************************
8458  *    IHTMLElementCollection interface
8459  */
8460 [
8461     odl,
8462     oleautomation,
8463     dual,
8464     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8465 ]
8466 interface IHTMLElementCollection : IDispatch
8467 {
8468     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8469     HRESULT toString([retval, out] BSTR *String);
8470
8471     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8472     HRESULT length([in] LONG v);
8473
8474     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8475     HRESULT length([retval, out] LONG *p);
8476
8477     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8478     HRESULT _newEnum([retval, out] IUnknown **p);
8479
8480     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8481     HRESULT item(
8482         [optional, in] VARIANT name,
8483         [optional, in] VARIANT index,
8484         [retval,  out] IDispatch **pdisp);
8485
8486     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8487     HRESULT tags(
8488         [in] VARIANT tagName,
8489         [retval, out] IDispatch **pdisp);
8490 }
8491
8492 /*****************************************************************************
8493  *    DispHTMLElementCollection dispinterface
8494  */
8495 [
8496     hidden,
8497     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8498 ]
8499 dispinterface DispHTMLElementCollection
8500 {
8501 properties:
8502 methods:
8503     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8504     BSTR toString();
8505
8506     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8507     void length(LONG v);
8508
8509     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8510     LONG length();
8511
8512     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8513     IUnknown *_newEnum();
8514
8515     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8516     IDispatch *item(
8517             [in, optional] VARIANT name,
8518             [in, optional] VARIANT index);
8519
8520     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8521     IDispatch *tags(
8522             [in] VARIANT tagName);
8523
8524     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8525     IDispatch *urns([in] VARIANT urn);
8526
8527     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8528     IDispatch *namedItem([in] BSTR name);
8529 }
8530
8531 /*****************************************************************************
8532  *    IHTMLSelectElement interface
8533  */
8534 [
8535     odl,
8536     oleautomation,
8537     dual,
8538     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8539 ]
8540 interface IHTMLSelectElement : IDispatch
8541 {
8542     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8543     HRESULT size([in] LONG v);
8544
8545     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8546     HRESULT size([retval, out] LONG *p);
8547
8548     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8549     HRESULT multiple([in] VARIANT_BOOL v);
8550
8551     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8552     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8553
8554     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8555     HRESULT name([in] BSTR v);
8556
8557     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8558     HRESULT name([retval, out] BSTR *p);
8559
8560     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8561     HRESULT options([retval, out] IDispatch **p);
8562
8563     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8564     HRESULT onchange([in] VARIANT v);
8565
8566     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8567     HRESULT onchange([retval, out] VARIANT *p);
8568
8569     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8570     HRESULT selectedIndex([in] LONG v);
8571
8572     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8573     HRESULT selectedIndex([retval, out] LONG *p);
8574
8575     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8576     HRESULT type([retval, out] BSTR *p);
8577
8578     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8579     HRESULT value([in] BSTR v);
8580
8581     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8582     HRESULT value([retval, out] BSTR *p);
8583
8584     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8585     HRESULT disabled([in] VARIANT_BOOL v);
8586
8587     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8588     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8589
8590     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8591     HRESULT form([retval, out] IHTMLFormElement **p);
8592
8593     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8594     HRESULT add(
8595         [in] IHTMLElement *element,
8596         [optional, in] VARIANT before);
8597
8598     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8599     HRESULT remove([defaultvalue(-1), in] LONG index);
8600
8601     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8602     HRESULT length([in] LONG v);
8603
8604     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8605     HRESULT length([retval, out] LONG *p);
8606
8607     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8608     HRESULT _newEnum([retval, out] IUnknown **p);
8609
8610     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8611     HRESULT item(
8612         [optional, in] VARIANT name,
8613         [optional, in] VARIANT index,
8614         [retval, out] IDispatch **pdisp);
8615
8616     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8617     HRESULT tags(
8618         [in] VARIANT tagName,
8619         [retval, out] IDispatch **pdisp);
8620 }
8621
8622 /*****************************************************************************
8623  *    DispHTMLSelectElement dispinterface
8624  */
8625 [
8626     hidden,
8627     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8628 ]
8629 dispinterface DispHTMLSelectElement
8630 {
8631 properties:
8632 methods:
8633     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
8634     void setAttribute(
8635             [in] BSTR strAttributeName,
8636             [in] VARIANT AttributeValue,
8637             [in, defaultvalue(1)] LONG lFlags);
8638
8639     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
8640     VARIANT getAttribute(
8641              [in] BSTR strAttributeName,
8642              [in, defaultvalue(0)] LONG lFlags);
8643
8644     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
8645     VARIANT_BOOL removeAttribute(
8646             [in] BSTR strAttributeName,
8647             [in, defaultvalue(1)] LONG lFlags);
8648
8649     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8650     void className(BSTR v);
8651
8652     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8653     BSTR className();
8654
8655     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
8656     void id(BSTR v);
8657
8658     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
8659     BSTR id();
8660
8661     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
8662     BSTR tagName();
8663
8664     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
8665     IHTMLElement *parentElement();
8666
8667     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
8668     IHTMLStyle *style();
8669
8670     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8671     void onhelp(VARIANT v);
8672
8673     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8674     VARIANT onhelp();
8675
8676     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8677     void onclick(VARIANT v);
8678
8679     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8680     VARIANT onclick();
8681
8682     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8683     void ondblclick(VARIANT v);
8684
8685     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8686     VARIANT ondblclick();
8687
8688     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8689     void onkeydown(VARIANT v);
8690
8691     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8692     VARIANT onkeydown();
8693
8694     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8695     void onkeyup(VARIANT v);
8696
8697     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8698     VARIANT onkeyup();
8699
8700     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8701     void onkeypress(VARIANT v);
8702
8703     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8704     VARIANT onkeypress();
8705
8706     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8707     void onmouseout(VARIANT v);
8708
8709     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8710     VARIANT onmouseout();
8711
8712     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8713     void onmouseover(VARIANT v);
8714
8715     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8716     VARIANT onmouseover();
8717
8718     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8719     void onmousemove(VARIANT v);
8720
8721     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8722     VARIANT onmousemove();
8723
8724     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8725     void onmousedown(VARIANT v);
8726
8727     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8728     VARIANT onmousedown();
8729
8730     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8731     void onmouseup(VARIANT v);
8732
8733     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8734     VARIANT onmouseup();
8735
8736     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
8737     IDispatch *document();
8738
8739     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8740     void title(BSTR v);
8741
8742     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8743     BSTR title();
8744
8745     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8746     void language(BSTR v);
8747
8748     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8749     BSTR language();
8750
8751     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8752     void onselectstart(VARIANT v);
8753
8754     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8755     VARIANT onselectstart();
8756
8757     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
8758     void scrollIntoView([in, optional] VARIANT varargStart);
8759
8760     [id(DISPID_IHTMLELEMENT_CONTAINS)]
8761     VARIANT_BOOL contains([in] IHTMLElement *pChild);
8762
8763     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
8764     LONG sourceIndex();
8765
8766     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
8767     VARIANT recordNumber();
8768
8769     [propput, id(DISPID_IHTMLELEMENT_LANG)]
8770     void lang(BSTR v);
8771
8772     [propget, id(DISPID_IHTMLELEMENT_LANG)]
8773     BSTR lang();
8774
8775     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
8776     LONG offsetLeft();
8777
8778     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
8779     LONG offsetTop();
8780
8781     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
8782     LONG offsetWidth();
8783
8784     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
8785     LONG offsetHeight();
8786
8787     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
8788     IHTMLElement *offsetParent();
8789
8790     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
8791     void innerHTML(BSTR v);
8792
8793     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
8794     BSTR innerHTML();
8795
8796     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8797     void innerText(BSTR v);
8798
8799     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8800     BSTR innerText();
8801
8802     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8803     void outerHTML(BSTR v);
8804
8805     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8806     BSTR outerHTML();
8807
8808     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8809     void outerText(BSTR v);
8810
8811     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8812     BSTR outerText();
8813
8814     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
8815     void insertAdjacentHTML(
8816             [in] BSTR where,
8817             [in] BSTR html);
8818
8819     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
8820     void insertAdjacentText(
8821             [in] BSTR where,
8822             [in] BSTR text);
8823
8824     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
8825     IHTMLElement *parentTextEdit();
8826
8827     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
8828     VARIANT_BOOL isTextEdit();
8829
8830     [id(DISPID_IHTMLELEMENT_CLICK)]
8831     void click();
8832
8833     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
8834     IHTMLFiltersCollection *filters();
8835
8836     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8837     void ondragstart(VARIANT v);
8838
8839     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8840     VARIANT ondragstart();
8841
8842     [id(DISPID_IHTMLELEMENT_TOSTRING)]
8843     BSTR toString();
8844
8845     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8846     void onbeforeupdate(VARIANT v);
8847
8848     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8849     VARIANT onbeforeupdate();
8850
8851     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8852     void onafterupdate(VARIANT v);
8853
8854     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8855     VARIANT onafterupdate();
8856
8857     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8858     void onerrorupdate(VARIANT v);
8859
8860     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8861     VARIANT onerrorupdate();
8862
8863     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8864     void onrowexit(VARIANT v);
8865
8866     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8867     VARIANT onrowexit();
8868
8869     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8870     void onrowenter(VARIANT v);
8871
8872     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8873     VARIANT onrowenter();
8874
8875     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8876     void ondatasetchanged(VARIANT v);
8877
8878     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8879     VARIANT ondatasetchanged();
8880
8881     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8882     void ondataavailable(VARIANT v);
8883
8884     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8885     VARIANT ondataavailable();
8886
8887     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8888     void ondatasetcomplete(VARIANT v);
8889
8890     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8891     VARIANT ondatasetcomplete();
8892
8893     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8894     void onfilterchange(VARIANT v);
8895
8896     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8897     VARIANT onfilterchange();
8898
8899     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
8900     IDispatch *children();
8901
8902     [propget, id(DISPID_IHTMLELEMENT_ALL)]
8903     IDispatch *all();
8904
8905     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
8906     BSTR scopeName();
8907
8908     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
8909     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
8910
8911     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
8912     void releaseCapture();
8913
8914     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8915     void onlosecapture(VARIANT v);
8916
8917     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8918     VARIANT onlosecapture();
8919
8920     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
8921     BSTR componentFromPoint(
8922             [in] LONG x,
8923             [in] LONG y);
8924
8925     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
8926     void doScroll([in, optional] VARIANT component);
8927
8928     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8929     void onscroll(VARIANT v);
8930
8931     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8932     VARIANT onscroll();
8933
8934     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8935     void ondrag(VARIANT v);
8936
8937     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8938     VARIANT ondrag();
8939
8940     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8941     void ondragend(VARIANT v);
8942
8943     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8944     VARIANT ondragend();
8945
8946     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8947     void ondragenter(VARIANT v);
8948
8949     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8950     VARIANT ondragenter();
8951
8952     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8953     void ondragover(VARIANT v);
8954
8955     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8956     VARIANT ondragover();
8957
8958     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8959     void ondragleave(VARIANT v);
8960
8961     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8962     VARIANT ondragleave();
8963
8964     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8965     void ondrop(VARIANT v);
8966
8967     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8968     VARIANT ondrop();
8969
8970     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8971     void onbeforecut(VARIANT v);
8972
8973     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8974     VARIANT onbeforecut();
8975
8976     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8977     void oncut(VARIANT v);
8978
8979     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8980     VARIANT oncut();
8981
8982     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8983     void onbeforecopy(VARIANT v);
8984
8985     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8986     VARIANT onbeforecopy();
8987
8988     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8989     void oncopy(VARIANT v);
8990
8991     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8992     VARIANT oncopy();
8993
8994     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8995     void onbeforepaste(VARIANT v);
8996
8997     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8998     VARIANT onbeforepaste();
8999
9000     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9001     void onpaste(VARIANT v);
9002
9003     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9004     VARIANT onpaste();
9005
9006     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
9007     IHTMLCurrentStyle *currentStyle();
9008
9009     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9010     void onpropertychange(VARIANT v);
9011
9012     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9013     VARIANT onpropertychange();
9014
9015     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
9016     IHTMLRectCollection *getClientRects();
9017
9018     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
9019     IHTMLRect *getBoundingClientRect();
9020
9021     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
9022     void setExpression(
9023             [in] BSTR propname,
9024             [in] BSTR expression,
9025             [in, defaultvalue("")] BSTR language);
9026
9027     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
9028     VARIANT getExpression([in] BSTR propname);
9029
9030     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
9031     VARIANT_BOOL removeExpression([in] BSTR propname);
9032
9033     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9034     void tabIndex(short v);
9035
9036     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9037     short tabIndex();
9038
9039     [id(DISPID_IHTMLELEMENT2_FOCUS)]
9040     void focus();
9041
9042     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9043     void accessKey(BSTR v);
9044
9045     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9046     BSTR accessKey();
9047
9048     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9049     void onblur(VARIANT v);
9050
9051     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9052     VARIANT onblur();
9053
9054     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9055     void onfocus(VARIANT v);
9056
9057     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9058     VARIANT onfocus();
9059
9060     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9061     void onresize(VARIANT v);
9062
9063     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9064     VARIANT onresize();
9065
9066     [id(DISPID_IHTMLELEMENT2_BLUR)]
9067     void blur();
9068
9069     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
9070     void addFilter([in] IUnknown *pUnk);
9071
9072     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
9073     void removeFilter([in] IUnknown *pUnk);
9074
9075     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
9076     LONG clientHeight();
9077
9078     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
9079     LONG clientWidth();
9080
9081     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
9082     LONG clientTop();
9083
9084     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
9085     LONG clientLeft();
9086
9087     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
9088     VARIANT_BOOL attachEvent(
9089             [in] BSTR event,
9090             [in] IDispatch *pDisp);
9091
9092     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
9093     void detachEvent(
9094             [in] BSTR event,
9095             [in] IDispatch *pDisp);
9096
9097     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
9098     VARIANT readyState();
9099
9100     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9101     void onreadystatechange(VARIANT v);
9102
9103     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9104     VARIANT onreadystatechange();
9105
9106     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9107     void onrowsdelete(VARIANT v);
9108
9109     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9110     VARIANT onrowsdelete();
9111
9112     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9113     void onrowsinserted(VARIANT v);
9114
9115     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9116      VARIANT onrowsinserted();
9117
9118     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9119      void oncellchange(VARIANT v);
9120
9121     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9122     VARIANT oncellchange();
9123
9124     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9125     void dir(BSTR v);
9126
9127     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9128     BSTR dir();
9129
9130     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
9131     IDispatch *createControlRange();
9132
9133     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
9134     LONG scrollHeight();
9135
9136     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
9137     LONG scrollWidth();
9138
9139     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9140     void scrollTop(LONG v);
9141
9142     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9143     LONG scrollTop();
9144
9145     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9146     void scrollLeft(LONG v);
9147
9148     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9149     LONG scrollLeft();
9150
9151     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
9152     void clearAttributes();
9153
9154     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9155     void oncontextmenu(VARIANT v);
9156
9157     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9158     VARIANT oncontextmenu();
9159
9160     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
9161     IHTMLElement *insertAdjacentElement(
9162             [in] BSTR where,
9163             [in] IHTMLElement *insertedElement);
9164
9165     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
9166     IHTMLElement *applyElement(
9167             [in] IHTMLElement *apply,
9168             [in] BSTR where);
9169
9170     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
9171     BSTR getAdjacentText([in] BSTR where);
9172
9173     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
9174     BSTR replaceAdjacentText(
9175             [in] BSTR where,
9176             [in] BSTR newText);
9177
9178     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
9179     VARIANT_BOOL canHaveChildren();
9180
9181     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
9182     LONG addBehavior(
9183             [in] BSTR bstrUrl,
9184             [in, optional] VARIANT *pvarFactory);
9185
9186     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
9187     VARIANT_BOOL removeBehavior([in] LONG cookie);
9188
9189     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
9190     IHTMLStyle *runtimeStyle();
9191
9192     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
9193     IDispatch *behaviorUrns();
9194
9195     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
9196     void tagUrn(BSTR v);
9197
9198     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
9199     BSTR tagUrn();
9200
9201     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9202     void onbeforeeditfocus(VARIANT v);
9203
9204     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9205     VARIANT onbeforeeditfocus();
9206
9207     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
9208     LONG readyStateValue();
9209
9210     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
9211     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
9212
9213     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
9214     void mergeAttributes(
9215             [in] IHTMLElement *mergeThis,
9216             [in, optional] VARIANT *pvarFlags);
9217
9218     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
9219     VARIANT_BOOL isMultiLine();
9220
9221     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
9222     VARIANT_BOOL canHaveHTML();
9223
9224     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9225     void onlayoutcomplete(VARIANT v);
9226
9227     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9228     VARIANT onlayoutcomplete();
9229
9230     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9231     void onpage(VARIANT v);
9232
9233     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9234     VARIANT onpage();
9235
9236     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9237     void inflateBlock(VARIANT_BOOL v);
9238
9239     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9240     VARIANT_BOOL inflateBlock();
9241
9242     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9243     void onbeforedeactivate(VARIANT v);
9244
9245     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9246     VARIANT onbeforedeactivate();
9247
9248     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
9249     void setActive();
9250
9251     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9252     void contentEditable(BSTR v);
9253
9254     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9255     BSTR contentEditable();
9256
9257     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
9258     VARIANT_BOOL isContentEditable();
9259
9260     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9261     void hideFocus(VARIANT_BOOL v);
9262
9263     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9264     VARIANT_BOOL hideFocus();
9265
9266     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9267     void disabled(VARIANT_BOOL v);
9268
9269     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9270     VARIANT_BOOL disabled();
9271
9272     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
9273     VARIANT_BOOL isDisabled();
9274
9275     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9276     void onmove(VARIANT v);
9277
9278     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9279     VARIANT onmove();
9280
9281     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9282     void oncontrolselect(VARIANT v);
9283
9284     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9285     VARIANT oncontrolselect();
9286
9287     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
9288     VARIANT_BOOL fireEvent(
9289             [in] BSTR bstrEventName,
9290             [in, optional] VARIANT *pvarEventObject);
9291
9292     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9293     void onresizestart(VARIANT v);
9294
9295     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9296     VARIANT onresizestart();
9297
9298     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9299     void onresizeend(VARIANT v);
9300
9301     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9302     VARIANT onresizeend();
9303
9304     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9305     void onmovestart(VARIANT v);
9306
9307     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9308     VARIANT onmovestart();
9309
9310     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9311     void onmoveend(VARIANT v);
9312
9313     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9314     VARIANT onmoveend();
9315
9316     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9317     void onmouseenter(VARIANT v);
9318
9319     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9320     VARIANT onmouseenter();
9321
9322     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9323     void onmouseleave(VARIANT v);
9324
9325     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9326     VARIANT onmouseleave();
9327
9328     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9329     void onactivate(VARIANT v);
9330
9331     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9332     VARIANT onactivate();
9333
9334     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9335     void ondeactivate(VARIANT v);
9336
9337     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9338     VARIANT ondeactivate();
9339
9340     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
9341     VARIANT_BOOL dragDrop();
9342
9343     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
9344     LONG glyphMode();
9345
9346     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9347     void onmousewheel(VARIANT v);
9348
9349     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9350     VARIANT onmousewheel();
9351
9352     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
9353     void normalize();
9354
9355     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
9356     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
9357
9358     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
9359     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
9360
9361     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
9362     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
9363
9364     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9365     void onbeforeactivate(VARIANT v);
9366
9367     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9368     VARIANT onbeforeactivate();
9369
9370     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9371     void onfocusin(VARIANT v);
9372
9373     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9374     VARIANT onfocusin();
9375
9376     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9377     void onfocusout(VARIANT v);
9378
9379     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9380     VARIANT onfocusout();
9381
9382     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
9383     LONG uniqueNumber();
9384
9385     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
9386     BSTR uniqueID();
9387
9388     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
9389     LONG nodeType();
9390
9391     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
9392     IHTMLDOMNode *parentNode();
9393
9394     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
9395     VARIANT_BOOL hasChildNodes();
9396
9397     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
9398     IDispatch *childNodes();
9399
9400     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
9401     IDispatch *attributes();
9402
9403     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
9404     IHTMLDOMNode *insertBefore(
9405             [in] IHTMLDOMNode *newChild,
9406             [in, optional] VARIANT refChild);
9407
9408     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
9409     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
9410
9411     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
9412     IHTMLDOMNode *replaceChild(
9413             [in] IHTMLDOMNode *newChild,
9414             [in] IHTMLDOMNode *oldChild);
9415
9416     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
9417     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
9418
9419     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
9420     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
9421
9422     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
9423     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
9424
9425     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
9426     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
9427
9428     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
9429     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
9430
9431     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
9432     BSTR nodeName();
9433
9434     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9435     void nodeValue(VARIANT v);
9436
9437     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9438     VARIANT nodeValue();
9439
9440     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
9441     IHTMLDOMNode *firstChild();
9442
9443     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
9444     IHTMLDOMNode *lastChild();
9445
9446     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
9447     IHTMLDOMNode *previousSibling();
9448
9449     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
9450     IHTMLDOMNode *nextSibling();
9451
9452     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
9453     IDispatch *ownerDocument();
9454
9455     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9456     void dataFld(BSTR v);
9457
9458     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9459     BSTR dataFld();
9460
9461     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
9462     void dataSrc(BSTR v);
9463
9464     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
9465     BSTR dataSrc();
9466
9467     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9468     void dataFormatAs(BSTR v);
9469
9470     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9471     BSTR dataFormatAs();
9472
9473     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9474     void size(LONG v);
9475
9476     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9477     LONG size();
9478
9479     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9480     void multiple(VARIANT_BOOL v);
9481
9482     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9483     VARIANT_BOOL multiple();
9484
9485     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9486     void name(BSTR v);
9487
9488     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9489     BSTR name();
9490
9491     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9492     IDispatch *options();
9493
9494     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9495     void onchange(VARIANT v);
9496
9497     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9498     VARIANT onchange();
9499
9500     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9501     void selectedIndex(LONG v);
9502
9503     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9504     LONG selectedIndex();
9505
9506     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9507     BSTR type();
9508
9509     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9510     void value(BSTR v);
9511
9512     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9513     BSTR value();
9514
9515     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9516     IHTMLFormElement *form();
9517
9518     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9519     void add(
9520             [in] IHTMLElement *element,
9521             [in, optional] VARIANT before);
9522
9523     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9524     void remove([in, defaultvalue(-1)] LONG index);
9525
9526     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9527     void length(LONG v);
9528
9529     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9530     LONG length();
9531
9532     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9533     IUnknown *_newEnum();
9534
9535     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9536     IDispatch *item(
9537             [in, optional] VARIANT name,
9538             [in, optional] VARIANT index);
9539
9540     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9541     IDispatch *tags([in] VARIANT tagName);
9542
9543     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
9544     IDispatch *urns([in] VARIANT urn);
9545
9546     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
9547     IDispatch *namedItem([in] BSTR name);
9548 }
9549
9550 /*****************************************************************************
9551  *    IHTMLSelectionObject interface
9552  */
9553 [
9554     odl,
9555     oleautomation,
9556     dual,
9557     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
9558 ]
9559 interface IHTMLSelectionObject : IDispatch
9560 {
9561     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
9562     HRESULT createRange([retval, out] IDispatch **range);
9563
9564     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
9565     HRESULT empty();
9566
9567     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
9568     HRESULT clear();
9569
9570     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
9571     HRESULT type([retval, out] BSTR *p);
9572 }
9573
9574 /*****************************************************************************
9575  *    IHTMLOptionElement interface
9576  */
9577 [
9578     odl,
9579     oleautomation,
9580     dual,
9581     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
9582 ]
9583 interface IHTMLOptionElement : IDispatch
9584 {
9585     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9586     HRESULT selected([in] VARIANT_BOOL v);
9587
9588     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9589     HRESULT selected([retval, out] VARIANT_BOOL *p);
9590
9591     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9592     HRESULT value([in] BSTR v);
9593
9594     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9595     HRESULT value([retval, out] BSTR *p);
9596
9597     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9598     HRESULT defaultSelected([in] VARIANT_BOOL v);
9599
9600     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9601     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
9602
9603     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9604     HRESULT index([in] LONG v);
9605
9606     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9607     HRESULT index([retval, out] LONG *p);
9608
9609     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9610     HRESULT text([in] BSTR v);
9611
9612     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9613     HRESULT text([retval, out] BSTR *p);
9614
9615     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9616     HRESULT form([retval, out] IHTMLFormElement **p);
9617 }
9618
9619 /*****************************************************************************
9620  *    IHTMLOptionElementFactory interface
9621  */
9622 [
9623     odl,
9624     oleautomation,
9625     dual,
9626     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
9627 ]
9628 interface IHTMLOptionElementFactory : IDispatch
9629 {
9630     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
9631     HRESULT create(
9632         [optional, in] VARIANT text,
9633         [optional, in] VARIANT value,
9634         [optional, in] VARIANT defaultselected,
9635         [optional, in] VARIANT selected,
9636         [retval, out] IHTMLOptionElement **optelem);
9637 }
9638
9639 /*****************************************************************************
9640  *    DispHTMLOptionElement dispinterface
9641  */
9642 [
9643     hidden,
9644     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
9645 ]
9646 dispinterface DispHTMLOptionElement
9647 {
9648 properties:
9649 methods:
9650     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
9651     void setAttribute(
9652             [in] BSTR strAttributeName,
9653             [in] VARIANT AttributeValue,
9654             [in, defaultvalue(1)] LONG lFlags);
9655
9656     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
9657     VARIANT getAttribute(
9658              [in] BSTR strAttributeName,
9659              [in, defaultvalue(0)] LONG lFlags);
9660
9661     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
9662     VARIANT_BOOL removeAttribute(
9663             [in] BSTR strAttributeName,
9664             [in, defaultvalue(1)] LONG lFlags);
9665
9666     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9667     void className(BSTR v);
9668
9669     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9670     BSTR className();
9671
9672     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
9673     void id(BSTR v);
9674
9675     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
9676     BSTR id();
9677
9678     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
9679     BSTR tagName();
9680
9681     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
9682     IHTMLElement *parentElement();
9683
9684     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
9685     IHTMLStyle *style();
9686
9687     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9688     void onhelp(VARIANT v);
9689
9690     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9691     VARIANT onhelp();
9692
9693     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9694     void onclick(VARIANT v);
9695
9696     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9697     VARIANT onclick();
9698
9699     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9700     void ondblclick(VARIANT v);
9701
9702     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9703     VARIANT ondblclick();
9704
9705     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9706     void onkeydown(VARIANT v);
9707
9708     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9709     VARIANT onkeydown();
9710
9711     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9712     void onkeyup(VARIANT v);
9713
9714     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9715     VARIANT onkeyup();
9716
9717     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9718     void onkeypress(VARIANT v);
9719
9720     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9721     VARIANT onkeypress();
9722
9723     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9724     void onmouseout(VARIANT v);
9725
9726     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9727     VARIANT onmouseout();
9728
9729     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9730     void onmouseover(VARIANT v);
9731
9732     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9733     VARIANT onmouseover();
9734
9735     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9736     void onmousemove(VARIANT v);
9737
9738     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9739     VARIANT onmousemove();
9740
9741     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9742     void onmousedown(VARIANT v);
9743
9744     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9745     VARIANT onmousedown();
9746
9747     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9748     void onmouseup(VARIANT v);
9749
9750     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9751     VARIANT onmouseup();
9752
9753     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
9754     IDispatch *document();
9755
9756     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9757     void title(BSTR v);
9758
9759     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9760     BSTR title();
9761
9762     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9763     void language(BSTR v);
9764
9765     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9766     BSTR language();
9767
9768     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9769     void onselectstart(VARIANT v);
9770
9771     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9772     VARIANT onselectstart();
9773
9774     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
9775     void scrollIntoView([in, optional] VARIANT varargStart);
9776
9777     [id(DISPID_IHTMLELEMENT_CONTAINS)]
9778     VARIANT_BOOL contains([in] IHTMLElement *pChild);
9779
9780     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
9781     LONG sourceIndex();
9782
9783     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
9784     VARIANT recordNumber();
9785
9786     [propput, id(DISPID_IHTMLELEMENT_LANG)]
9787     void lang(BSTR v);
9788
9789     [propget, id(DISPID_IHTMLELEMENT_LANG)]
9790     BSTR lang();
9791
9792     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
9793     LONG offsetLeft();
9794
9795     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
9796     LONG offsetTop();
9797
9798     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
9799     LONG offsetWidth();
9800
9801     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
9802     LONG offsetHeight();
9803
9804     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
9805     IHTMLElement *offsetParent();
9806
9807     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
9808     void innerHTML(BSTR v);
9809
9810     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
9811     BSTR innerHTML();
9812
9813     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9814     void innerText(BSTR v);
9815
9816     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9817     BSTR innerText();
9818
9819     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9820     void outerHTML(BSTR v);
9821
9822     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9823     BSTR outerHTML();
9824
9825     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9826     void outerText(BSTR v);
9827
9828     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9829     BSTR outerText();
9830
9831     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
9832     void insertAdjacentHTML(
9833             [in] BSTR where,
9834             [in] BSTR html);
9835
9836     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
9837     void insertAdjacentText(
9838             [in] BSTR where,
9839             [in] BSTR text);
9840
9841     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
9842     IHTMLElement *parentTextEdit();
9843
9844     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
9845     VARIANT_BOOL isTextEdit();
9846
9847     [id(DISPID_IHTMLELEMENT_CLICK)]
9848     void click();
9849
9850     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
9851     IHTMLFiltersCollection *filters();
9852
9853     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9854     void ondragstart(VARIANT v);
9855
9856     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9857     VARIANT ondragstart();
9858
9859     [id(DISPID_IHTMLELEMENT_TOSTRING)]
9860     BSTR toString();
9861
9862     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9863     void onbeforeupdate(VARIANT v);
9864
9865     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9866     VARIANT onbeforeupdate();
9867
9868     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9869     void onafterupdate(VARIANT v);
9870
9871     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9872     VARIANT onafterupdate();
9873
9874     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9875     void onerrorupdate(VARIANT v);
9876
9877     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9878     VARIANT onerrorupdate();
9879
9880     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9881     void onrowexit(VARIANT v);
9882
9883     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9884     VARIANT onrowexit();
9885
9886     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9887     void onrowenter(VARIANT v);
9888
9889     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9890     VARIANT onrowenter();
9891
9892     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9893     void ondatasetchanged(VARIANT v);
9894
9895     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9896     VARIANT ondatasetchanged();
9897
9898     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9899     void ondataavailable(VARIANT v);
9900
9901     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9902     VARIANT ondataavailable();
9903
9904     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9905     void ondatasetcomplete(VARIANT v);
9906
9907     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9908     VARIANT ondatasetcomplete();
9909
9910     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9911     void onfilterchange(VARIANT v);
9912
9913     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9914     VARIANT onfilterchange();
9915
9916     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
9917     IDispatch *children();
9918
9919     [propget, id(DISPID_IHTMLELEMENT_ALL)]
9920     IDispatch *all();
9921
9922     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
9923     BSTR scopeName();
9924
9925     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
9926     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
9927
9928     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
9929     void releaseCapture();
9930
9931     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9932     void onlosecapture(VARIANT v);
9933
9934     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9935     VARIANT onlosecapture();
9936
9937     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
9938     BSTR componentFromPoint(
9939             [in] LONG x,
9940             [in] LONG y);
9941
9942     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
9943     void doScroll([in, optional] VARIANT component);
9944
9945     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9946     void onscroll(VARIANT v);
9947
9948     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9949     VARIANT onscroll();
9950
9951     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9952     void ondrag(VARIANT v);
9953
9954     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9955     VARIANT ondrag();
9956
9957     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9958     void ondragend(VARIANT v);
9959
9960     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9961     VARIANT ondragend();
9962
9963     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9964     void ondragenter(VARIANT v);
9965
9966     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9967     VARIANT ondragenter();
9968
9969     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9970     void ondragover(VARIANT v);
9971
9972     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9973     VARIANT ondragover();
9974
9975     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9976     void ondragleave(VARIANT v);
9977
9978     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9979     VARIANT ondragleave();
9980
9981     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9982     void ondrop(VARIANT v);
9983
9984     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9985     VARIANT ondrop();
9986
9987     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9988     void onbeforecut(VARIANT v);
9989
9990     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9991     VARIANT onbeforecut();
9992
9993     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9994     void oncut(VARIANT v);
9995
9996     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9997     VARIANT oncut();
9998
9999     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10000     void onbeforecopy(VARIANT v);
10001
10002     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10003     VARIANT onbeforecopy();
10004
10005     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10006     void oncopy(VARIANT v);
10007
10008     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10009     VARIANT oncopy();
10010
10011     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10012     void onbeforepaste(VARIANT v);
10013
10014     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10015     VARIANT onbeforepaste();
10016
10017     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10018     void onpaste(VARIANT v);
10019
10020     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10021     VARIANT onpaste();
10022
10023     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
10024     IHTMLCurrentStyle *currentStyle();
10025
10026     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10027     void onpropertychange(VARIANT v);
10028
10029     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10030     VARIANT onpropertychange();
10031
10032     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
10033     IHTMLRectCollection *getClientRects();
10034
10035     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
10036     IHTMLRect *getBoundingClientRect();
10037
10038     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
10039     void setExpression(
10040             [in] BSTR propname,
10041             [in] BSTR expression,
10042             [in, defaultvalue("")] BSTR language);
10043
10044     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
10045     VARIANT getExpression([in] BSTR propname);
10046
10047     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
10048     VARIANT_BOOL removeExpression([in] BSTR propname);
10049
10050     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10051     void tabIndex(short v);
10052
10053     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10054     short tabIndex();
10055
10056     [id(DISPID_IHTMLELEMENT2_FOCUS)]
10057     void focus();
10058
10059     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10060     void accessKey(BSTR v);
10061
10062     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10063     BSTR accessKey();
10064
10065     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10066     void onblur(VARIANT v);
10067
10068     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10069     VARIANT onblur();
10070
10071     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10072     void onfocus(VARIANT v);
10073
10074     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10075     VARIANT onfocus();
10076
10077     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10078     void onresize(VARIANT v);
10079
10080     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10081     VARIANT onresize();
10082
10083     [id(DISPID_IHTMLELEMENT2_BLUR)]
10084     void blur();
10085
10086     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
10087     void addFilter([in] IUnknown *pUnk);
10088
10089     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
10090     void removeFilter([in] IUnknown *pUnk);
10091
10092     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
10093     LONG clientHeight();
10094
10095     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
10096     LONG clientWidth();
10097
10098     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
10099     LONG clientTop();
10100
10101     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
10102     LONG clientLeft();
10103
10104     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
10105     VARIANT_BOOL attachEvent(
10106             [in] BSTR event,
10107             [in] IDispatch *pDisp);
10108
10109     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
10110     void detachEvent(
10111             [in] BSTR event,
10112             [in] IDispatch *pDisp);
10113
10114     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
10115     VARIANT readyState();
10116
10117     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10118     void onreadystatechange(VARIANT v);
10119
10120     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10121     VARIANT onreadystatechange();
10122
10123     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10124     void onrowsdelete(VARIANT v);
10125
10126     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10127     VARIANT onrowsdelete();
10128
10129     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10130     void onrowsinserted(VARIANT v);
10131
10132     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10133      VARIANT onrowsinserted();
10134
10135     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10136      void oncellchange(VARIANT v);
10137
10138     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10139     VARIANT oncellchange();
10140
10141     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10142     void dir(BSTR v);
10143
10144     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10145     BSTR dir();
10146
10147     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
10148     IDispatch *createControlRange();
10149
10150     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
10151     LONG scrollHeight();
10152
10153     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
10154     LONG scrollWidth();
10155
10156     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10157     void scrollTop(LONG v);
10158
10159     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10160     LONG scrollTop();
10161
10162     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10163     void scrollLeft(LONG v);
10164
10165     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10166     LONG scrollLeft();
10167
10168     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
10169     void clearAttributes();
10170
10171     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10172     void oncontextmenu(VARIANT v);
10173
10174     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10175     VARIANT oncontextmenu();
10176
10177     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
10178     IHTMLElement *insertAdjacentElement(
10179             [in] BSTR where,
10180             [in] IHTMLElement *insertedElement);
10181
10182     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
10183     IHTMLElement *applyElement(
10184             [in] IHTMLElement *apply,
10185             [in] BSTR where);
10186
10187     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
10188     BSTR getAdjacentText([in] BSTR where);
10189
10190     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
10191     BSTR replaceAdjacentText(
10192             [in] BSTR where,
10193             [in] BSTR newText);
10194
10195     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
10196     VARIANT_BOOL canHaveChildren();
10197
10198     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
10199     LONG addBehavior(
10200             [in] BSTR bstrUrl,
10201             [in, optional] VARIANT *pvarFactory);
10202
10203     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
10204     VARIANT_BOOL removeBehavior([in] LONG cookie);
10205
10206     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
10207     IHTMLStyle *runtimeStyle();
10208
10209     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
10210     IDispatch *behaviorUrns();
10211
10212     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
10213     void tagUrn(BSTR v);
10214
10215     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
10216     BSTR tagUrn();
10217
10218     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10219     void onbeforeeditfocus(VARIANT v);
10220
10221     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10222     VARIANT onbeforeeditfocus();
10223
10224     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
10225     LONG readyStateValue();
10226
10227     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
10228     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
10229
10230     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
10231     void mergeAttributes(
10232             [in] IHTMLElement *mergeThis,
10233             [in, optional] VARIANT *pvarFlags);
10234
10235     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
10236     VARIANT_BOOL isMultiLine();
10237
10238     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
10239     VARIANT_BOOL canHaveHTML();
10240
10241     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10242     void onlayoutcomplete(VARIANT v);
10243
10244     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10245     VARIANT onlayoutcomplete();
10246
10247     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10248     void onpage(VARIANT v);
10249
10250     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10251     VARIANT onpage();
10252
10253     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10254     void inflateBlock(VARIANT_BOOL v);
10255
10256     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10257     VARIANT_BOOL inflateBlock();
10258
10259     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10260     void onbeforedeactivate(VARIANT v);
10261
10262     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10263     VARIANT onbeforedeactivate();
10264
10265     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
10266     void setActive();
10267
10268     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10269     void contentEditable(BSTR v);
10270
10271     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10272     BSTR contentEditable();
10273
10274     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
10275     VARIANT_BOOL isContentEditable();
10276
10277     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10278     void hideFocus(VARIANT_BOOL v);
10279
10280     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10281     VARIANT_BOOL hideFocus();
10282
10283     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10284     void disabled(VARIANT_BOOL v);
10285
10286     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10287     VARIANT_BOOL disabled();
10288
10289     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
10290     VARIANT_BOOL isDisabled();
10291
10292     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10293     void onmove(VARIANT v);
10294
10295     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10296     VARIANT onmove();
10297
10298     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10299     void oncontrolselect(VARIANT v);
10300
10301     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10302     VARIANT oncontrolselect();
10303
10304     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
10305     VARIANT_BOOL fireEvent(
10306             [in] BSTR bstrEventName,
10307             [in, optional] VARIANT *pvarEventObject);
10308
10309     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10310     void onresizestart(VARIANT v);
10311
10312     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10313     VARIANT onresizestart();
10314
10315     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10316     void onresizeend(VARIANT v);
10317
10318     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10319     VARIANT onresizeend();
10320
10321     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10322     void onmovestart(VARIANT v);
10323
10324     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10325     VARIANT onmovestart();
10326
10327     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10328     void onmoveend(VARIANT v);
10329
10330     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10331     VARIANT onmoveend();
10332
10333     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10334     void onmouseenter(VARIANT v);
10335
10336     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10337     VARIANT onmouseenter();
10338
10339     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10340     void onmouseleave(VARIANT v);
10341
10342     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10343     VARIANT onmouseleave();
10344
10345     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10346     void onactivate(VARIANT v);
10347
10348     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10349     VARIANT onactivate();
10350
10351     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10352     void ondeactivate(VARIANT v);
10353
10354     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10355     VARIANT ondeactivate();
10356
10357     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
10358     VARIANT_BOOL dragDrop();
10359
10360     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
10361     LONG glyphMode();
10362
10363     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10364     void onmousewheel(VARIANT v);
10365
10366     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10367     VARIANT onmousewheel();
10368
10369     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
10370     void normalize();
10371
10372     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
10373     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
10374
10375     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
10376     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
10377
10378     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
10379     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
10380
10381     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10382     void onbeforeactivate(VARIANT v);
10383
10384     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10385     VARIANT onbeforeactivate();
10386
10387     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10388     void onfocusin(VARIANT v);
10389
10390     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10391     VARIANT onfocusin();
10392
10393     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10394     void onfocusout(VARIANT v);
10395
10396     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10397     VARIANT onfocusout();
10398
10399     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
10400     LONG uniqueNumber();
10401
10402     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
10403     BSTR uniqueID();
10404
10405     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
10406     LONG nodeType();
10407
10408     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
10409     IHTMLDOMNode *parentNode();
10410
10411     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
10412     VARIANT_BOOL hasChildNodes();
10413
10414     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
10415     IDispatch *childNodes();
10416
10417     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
10418     IDispatch *attributes();
10419
10420     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
10421     IHTMLDOMNode *insertBefore(
10422             [in] IHTMLDOMNode *newChild,
10423             [in, optional] VARIANT refChild);
10424
10425     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
10426     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
10427
10428     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
10429     IHTMLDOMNode *replaceChild(
10430             [in] IHTMLDOMNode *newChild,
10431             [in] IHTMLDOMNode *oldChild);
10432
10433     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
10434     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
10435
10436     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
10437     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
10438
10439     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
10440     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
10441
10442     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
10443     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
10444
10445     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
10446     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
10447
10448     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
10449     BSTR nodeName();
10450
10451     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10452     void nodeValue(VARIANT v);
10453
10454     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10455     VARIANT nodeValue();
10456
10457     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
10458     IHTMLDOMNode *firstChild();
10459
10460     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
10461     IHTMLDOMNode *lastChild();
10462
10463     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
10464     IHTMLDOMNode *previousSibling();
10465
10466     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
10467     IHTMLDOMNode *nextSibling();
10468
10469     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
10470     IDispatch *ownerDocument();
10471
10472     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10473     void dataFld(BSTR v);
10474
10475     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10476     BSTR dataFld();
10477
10478     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
10479     void dataSrc(BSTR v);
10480
10481     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
10482     BSTR dataSrc();
10483
10484     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10485     void dataFormatAs(BSTR v);
10486
10487     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10488     BSTR dataFormatAs();
10489
10490     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
10491     void selected(VARIANT_BOOL v);
10492
10493     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
10494     VARIANT_BOOL selected();
10495
10496     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
10497     void value(BSTR v);
10498
10499     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
10500     BSTR value();
10501
10502     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
10503     void defaultSelected(VARIANT_BOOL v);
10504
10505     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
10506     VARIANT_BOOL defaultSelected();
10507
10508     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10509     void index(LONG v);
10510
10511     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10512     LONG index();
10513
10514     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10515     void text(BSTR v);
10516
10517     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10518     BSTR text();
10519
10520     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
10521     IHTMLFormElement *form();
10522
10523     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10524     void label(BSTR v);
10525
10526     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10527     BSTR label();
10528 }
10529
10530 /*****************************************************************************
10531  *    IHTMLInputElement interface
10532  */
10533 [
10534     odl,
10535     oleautomation,
10536     dual,
10537     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
10538 ]
10539 interface IHTMLInputElement : IDispatch
10540 {
10541     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10542     HRESULT type([in] BSTR v);
10543
10544     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10545     HRESULT type([retval, out] BSTR *p);
10546
10547     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10548     HRESULT value([in] BSTR v);
10549
10550     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10551     HRESULT value([retval, out] BSTR *p);
10552
10553     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10554     HRESULT name([in] BSTR v);
10555
10556     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10557     HRESULT name([retval, out] BSTR *p);
10558
10559     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10560     HRESULT status([in] VARIANT_BOOL v);
10561
10562     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10563     HRESULT status([retval, out] VARIANT_BOOL *p);
10564
10565     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10566     HRESULT disabled([in] VARIANT_BOOL v);
10567
10568     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10569     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10570
10571     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
10572     HRESULT form([retval, out] IHTMLFormElement **p);
10573
10574     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10575     HRESULT size([in] LONG v);
10576
10577     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10578     HRESULT size([retval, out] LONG *p);
10579
10580     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10581     HRESULT maxLength([in] LONG v);
10582
10583     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10584     HRESULT maxLength([retval, out] LONG *p);
10585
10586     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
10587     HRESULT select();
10588
10589     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10590     HRESULT onchange([in] VARIANT v);
10591
10592     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10593     HRESULT onchange([retval, out] VARIANT *p);
10594
10595     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10596     HRESULT onselect([in] VARIANT v);
10597
10598     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10599     HRESULT onselect([retval, out] VARIANT *p);
10600
10601     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10602     HRESULT defaultValue([in] BSTR v);
10603
10604     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10605     HRESULT defaultValue([retval, out] BSTR *p);
10606
10607     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10608     HRESULT readOnly([in] VARIANT_BOOL v);
10609
10610     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10611     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10612
10613     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
10614     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10615
10616     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10617     HRESULT indeterminate([in] VARIANT_BOOL v);
10618
10619     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10620     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
10621
10622     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10623     HRESULT defaultChecked([in] VARIANT_BOOL v);
10624
10625     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10626     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
10627
10628     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10629     HRESULT checked([in] VARIANT_BOOL v);
10630
10631     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10632     HRESULT checked([retval, out] VARIANT_BOOL *p);
10633
10634     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10635     HRESULT border([in] VARIANT v);
10636
10637     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10638     HRESULT border([retval, out] VARIANT *p);
10639
10640     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10641     HRESULT vspace([in] LONG v);
10642
10643     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10644     HRESULT vspace([retval, out] LONG *p);
10645
10646     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10647     HRESULT hspace([in] LONG v);
10648
10649     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10650     HRESULT hspace([retval, out] LONG *p);
10651
10652     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10653     HRESULT alt([in] BSTR v);
10654
10655     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10656     HRESULT alt([retval, out] BSTR *p);
10657
10658     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10659     HRESULT src([in] BSTR v);
10660
10661     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10662     HRESULT src([retval, out] BSTR *p);
10663
10664     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10665     HRESULT lowsrc([in] BSTR v);
10666
10667     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10668     HRESULT lowsrc([retval, out] BSTR *p);
10669
10670     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10671     HRESULT vrml([in] BSTR v);
10672
10673     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10674     HRESULT vrml([retval, out] BSTR *p);
10675
10676     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10677     HRESULT dynsrc([in] BSTR v);
10678
10679     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10680     HRESULT dynsrc([retval, out] BSTR *p);
10681
10682     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
10683     HRESULT readyState([retval, out] BSTR *p);
10684
10685     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
10686     HRESULT complete([retval, out] VARIANT_BOOL *p);
10687
10688     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10689     HRESULT loop([in] VARIANT v);
10690
10691     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10692     HRESULT loop([retval, out] VARIANT *p);
10693
10694     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10695     HRESULT align([in] BSTR v);
10696
10697     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10698     HRESULT align([retval, out] BSTR *p);
10699
10700     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10701     HRESULT onload([in] VARIANT v);
10702
10703     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10704     HRESULT onload([retval, out] VARIANT *p);
10705
10706     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10707     HRESULT onerror([in] VARIANT v);
10708
10709     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10710     HRESULT onerror([retval, out] VARIANT *p);
10711
10712     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10713     HRESULT onabort([in] VARIANT v);
10714
10715     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10716     HRESULT onabort([retval, out] VARIANT *p);
10717
10718     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10719     HRESULT width([in] LONG v);
10720
10721     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10722     HRESULT width([retval, out] LONG *p);
10723
10724     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10725     HRESULT height([in] LONG v);
10726
10727     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10728     HRESULT height([retval, out] LONG *p);
10729
10730     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10731     HRESULT start([in] BSTR v);
10732
10733     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10734     HRESULT start([retval, out] BSTR *p);
10735 }
10736
10737 /*****************************************************************************
10738  *    IHTMLInputTextElement interface
10739  */
10740 [
10741     odl,
10742     oleautomation,
10743     dual,
10744     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
10745 ]
10746 interface IHTMLInputTextElement : IDispatch
10747 {
10748     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
10749     HRESULT type([retval, out] BSTR *p);
10750
10751     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10752     HRESULT value([in] BSTR v);
10753
10754     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10755     HRESULT value([retval, out] BSTR *p);
10756
10757     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10758     HRESULT name([in] BSTR v);
10759
10760     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10761     HRESULT name([retval, out] BSTR *p);
10762
10763     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10764     HRESULT status([in] VARIANT v);
10765
10766     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10767     HRESULT status([retval, out] VARIANT *p);
10768
10769     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10770     HRESULT disabled([in] VARIANT_BOOL v);
10771
10772     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10773     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10774
10775     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
10776     HRESULT form([retval, out] IHTMLFormElement **p);
10777
10778     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10779     HRESULT defaultValue([in] BSTR v);
10780
10781     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10782     HRESULT defaultValue([retval, out] BSTR *p);
10783
10784     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10785     HRESULT size([in] LONG v);
10786
10787     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10788     HRESULT size([retval, out] LONG *p);
10789
10790     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10791     HRESULT maxLength([in] LONG v);
10792
10793     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10794     HRESULT maxLength([retval, out] LONG *p);
10795
10796     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
10797     HRESULT select();
10798
10799     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10800     HRESULT onchange([in] VARIANT v);
10801
10802     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10803     HRESULT onchange([retval, out] VARIANT *p);
10804
10805     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10806     HRESULT onselect([in] VARIANT v);
10807
10808     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10809     HRESULT onselect([retval, out] VARIANT *p);
10810
10811     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10812     HRESULT readOnly([in] VARIANT_BOOL v);
10813
10814     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10815     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10816
10817     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
10818     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10819 }
10820
10821 [
10822     hidden,
10823     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
10824 ]
10825 dispinterface DispHTMLInputElement
10826 {
10827 properties:
10828 methods:
10829     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
10830     void setAttribute(
10831             [in] BSTR strAttributeName,
10832             [in] VARIANT AttributeValue,
10833             [in, defaultvalue(1)] LONG lFlags);
10834
10835     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
10836     VARIANT getAttribute(
10837              [in] BSTR strAttributeName,
10838              [in, defaultvalue(0)] LONG lFlags);
10839
10840     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
10841     VARIANT_BOOL removeAttribute(
10842             [in] BSTR strAttributeName,
10843             [in, defaultvalue(1)] LONG lFlags);
10844
10845     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10846     void className(BSTR v);
10847
10848     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
10849     BSTR className();
10850
10851     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
10852     void id(BSTR v);
10853
10854     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
10855     BSTR id();
10856
10857     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
10858     BSTR tagName();
10859
10860     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
10861     IHTMLElement *parentElement();
10862
10863     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
10864     IHTMLStyle *style();
10865
10866     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10867     void onhelp(VARIANT v);
10868
10869     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
10870     VARIANT onhelp();
10871
10872     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10873     void onclick(VARIANT v);
10874
10875     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
10876     VARIANT onclick();
10877
10878     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10879     void ondblclick(VARIANT v);
10880
10881     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
10882     VARIANT ondblclick();
10883
10884     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10885     void onkeydown(VARIANT v);
10886
10887     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
10888     VARIANT onkeydown();
10889
10890     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10891     void onkeyup(VARIANT v);
10892
10893     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
10894     VARIANT onkeyup();
10895
10896     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10897     void onkeypress(VARIANT v);
10898
10899     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
10900     VARIANT onkeypress();
10901
10902     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10903     void onmouseout(VARIANT v);
10904
10905     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
10906     VARIANT onmouseout();
10907
10908     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10909     void onmouseover(VARIANT v);
10910
10911     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
10912     VARIANT onmouseover();
10913
10914     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10915     void onmousemove(VARIANT v);
10916
10917     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
10918     VARIANT onmousemove();
10919
10920     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10921     void onmousedown(VARIANT v);
10922
10923     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
10924     VARIANT onmousedown();
10925
10926     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10927     void onmouseup(VARIANT v);
10928
10929     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
10930     VARIANT onmouseup();
10931
10932     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
10933     IDispatch *document();
10934
10935     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10936     void title(BSTR v);
10937
10938     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
10939     BSTR title();
10940
10941     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10942     void language(BSTR v);
10943
10944     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
10945     BSTR language();
10946
10947     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10948     void onselectstart(VARIANT v);
10949
10950     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
10951     VARIANT onselectstart();
10952
10953     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
10954     void scrollIntoView([in, optional] VARIANT varargStart);
10955
10956     [id(DISPID_IHTMLELEMENT_CONTAINS)]
10957     VARIANT_BOOL contains([in] IHTMLElement *pChild);
10958
10959     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
10960     LONG sourceIndex();
10961
10962     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
10963     VARIANT recordNumber();
10964
10965     [propput, id(DISPID_IHTMLELEMENT_LANG)]
10966     void lang(BSTR v);
10967
10968     [propget, id(DISPID_IHTMLELEMENT_LANG)]
10969     BSTR lang();
10970
10971     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
10972     LONG offsetLeft();
10973
10974     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
10975     LONG offsetTop();
10976
10977     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
10978     LONG offsetWidth();
10979
10980     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
10981     LONG offsetHeight();
10982
10983     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
10984     IHTMLElement *offsetParent();
10985
10986     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
10987     void innerHTML(BSTR v);
10988
10989     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
10990     BSTR innerHTML();
10991
10992     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10993     void innerText(BSTR v);
10994
10995     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
10996     BSTR innerText();
10997
10998     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
10999     void outerHTML(BSTR v);
11000
11001     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11002     BSTR outerHTML();
11003
11004     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11005     void outerText(BSTR v);
11006
11007     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11008     BSTR outerText();
11009
11010     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
11011     void insertAdjacentHTML(
11012             [in] BSTR where,
11013             [in] BSTR html);
11014
11015     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
11016     void insertAdjacentText(
11017             [in] BSTR where,
11018             [in] BSTR text);
11019
11020     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
11021     IHTMLElement *parentTextEdit();
11022
11023     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
11024     VARIANT_BOOL isTextEdit();
11025
11026     [id(DISPID_IHTMLELEMENT_CLICK)]
11027     void click();
11028
11029     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
11030     IHTMLFiltersCollection *filters();
11031
11032     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11033     void ondragstart(VARIANT v);
11034
11035     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11036     VARIANT ondragstart();
11037
11038     [id(DISPID_IHTMLELEMENT_TOSTRING)]
11039     BSTR toString();
11040
11041     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11042     void onbeforeupdate(VARIANT v);
11043
11044     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11045     VARIANT onbeforeupdate();
11046
11047     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11048     void onafterupdate(VARIANT v);
11049
11050     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11051     VARIANT onafterupdate();
11052
11053     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11054     void onerrorupdate(VARIANT v);
11055
11056     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11057     VARIANT onerrorupdate();
11058
11059     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11060     void onrowexit(VARIANT v);
11061
11062     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11063     VARIANT onrowexit();
11064
11065     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11066     void onrowenter(VARIANT v);
11067
11068     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11069     VARIANT onrowenter();
11070
11071     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11072     void ondatasetchanged(VARIANT v);
11073
11074     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11075     VARIANT ondatasetchanged();
11076
11077     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11078     void ondataavailable(VARIANT v);
11079
11080     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11081     VARIANT ondataavailable();
11082
11083     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11084     void ondatasetcomplete(VARIANT v);
11085
11086     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11087     VARIANT ondatasetcomplete();
11088
11089     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11090     void onfilterchange(VARIANT v);
11091
11092     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11093     VARIANT onfilterchange();
11094
11095     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
11096     IDispatch *children();
11097
11098     [propget, id(DISPID_IHTMLELEMENT_ALL)]
11099     IDispatch *all();
11100
11101     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
11102     BSTR scopeName();
11103
11104     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
11105     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
11106
11107     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
11108     void releaseCapture();
11109
11110     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11111     void onlosecapture(VARIANT v);
11112
11113     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11114     VARIANT onlosecapture();
11115
11116     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
11117     BSTR componentFromPoint(
11118             [in] LONG x,
11119             [in] LONG y);
11120
11121     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
11122     void doScroll([in, optional] VARIANT component);
11123
11124     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11125     void onscroll(VARIANT v);
11126
11127     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11128     VARIANT onscroll();
11129
11130     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11131     void ondrag(VARIANT v);
11132
11133     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11134     VARIANT ondrag();
11135
11136     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11137     void ondragend(VARIANT v);
11138
11139     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11140     VARIANT ondragend();
11141
11142     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11143     void ondragenter(VARIANT v);
11144
11145     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11146     VARIANT ondragenter();
11147
11148     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11149     void ondragover(VARIANT v);
11150
11151     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11152     VARIANT ondragover();
11153
11154     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11155     void ondragleave(VARIANT v);
11156
11157     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11158     VARIANT ondragleave();
11159
11160     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11161     void ondrop(VARIANT v);
11162
11163     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11164     VARIANT ondrop();
11165
11166     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11167     void onbeforecut(VARIANT v);
11168
11169     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11170     VARIANT onbeforecut();
11171
11172     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11173     void oncut(VARIANT v);
11174
11175     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11176     VARIANT oncut();
11177
11178     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11179     void onbeforecopy(VARIANT v);
11180
11181     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11182     VARIANT onbeforecopy();
11183
11184     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11185     void oncopy(VARIANT v);
11186
11187     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11188     VARIANT oncopy();
11189
11190     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11191     void onbeforepaste(VARIANT v);
11192
11193     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11194     VARIANT onbeforepaste();
11195
11196     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11197     void onpaste(VARIANT v);
11198
11199     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11200     VARIANT onpaste();
11201
11202     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
11203     IHTMLCurrentStyle *currentStyle();
11204
11205     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11206     void onpropertychange(VARIANT v);
11207
11208     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11209     VARIANT onpropertychange();
11210
11211     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
11212     IHTMLRectCollection *getClientRects();
11213
11214     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
11215     IHTMLRect *getBoundingClientRect();
11216
11217     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
11218     void setExpression(
11219             [in] BSTR propname,
11220             [in] BSTR expression,
11221             [in, defaultvalue("")] BSTR language);
11222
11223     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
11224     VARIANT getExpression([in] BSTR propname);
11225
11226     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
11227     VARIANT_BOOL removeExpression([in] BSTR propname);
11228
11229     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11230     void tabIndex(short v);
11231
11232     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11233     short tabIndex();
11234
11235     [id(DISPID_IHTMLELEMENT2_FOCUS)]
11236     void focus();
11237
11238     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11239     void accessKey(BSTR v);
11240
11241     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11242     BSTR accessKey();
11243
11244     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11245     void onblur(VARIANT v);
11246
11247     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11248     VARIANT onblur();
11249
11250     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11251     void onfocus(VARIANT v);
11252
11253     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11254     VARIANT onfocus();
11255
11256     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11257     void onresize(VARIANT v);
11258
11259     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11260     VARIANT onresize();
11261
11262     [id(DISPID_IHTMLELEMENT2_BLUR)]
11263     void blur();
11264
11265     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
11266     void addFilter([in] IUnknown *pUnk);
11267
11268     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
11269     void removeFilter([in] IUnknown *pUnk);
11270
11271     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
11272     LONG clientHeight();
11273
11274     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
11275     LONG clientWidth();
11276
11277     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
11278     LONG clientTop();
11279
11280     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
11281     LONG clientLeft();
11282
11283     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
11284     VARIANT_BOOL attachEvent(
11285             [in] BSTR event,
11286             [in] IDispatch *pDisp);
11287
11288     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
11289     void detachEvent(
11290             [in] BSTR event,
11291             [in] IDispatch *pDisp);
11292
11293     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
11294     VARIANT readyState();
11295
11296     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11297     void onreadystatechange(VARIANT v);
11298
11299     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11300     VARIANT onreadystatechange();
11301
11302     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11303     void onrowsdelete(VARIANT v);
11304
11305     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11306     VARIANT onrowsdelete();
11307
11308     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11309     void onrowsinserted(VARIANT v);
11310
11311     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11312      VARIANT onrowsinserted();
11313
11314     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11315      void oncellchange(VARIANT v);
11316
11317     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11318     VARIANT oncellchange();
11319
11320     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11321     void dir(BSTR v);
11322
11323     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11324     BSTR dir();
11325
11326     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
11327     IDispatch *createControlRange();
11328
11329     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
11330     LONG scrollHeight();
11331
11332     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
11333     LONG scrollWidth();
11334
11335     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11336     void scrollTop(LONG v);
11337
11338     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11339     LONG scrollTop();
11340
11341     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11342     void scrollLeft(LONG v);
11343
11344     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11345     LONG scrollLeft();
11346
11347     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
11348     void clearAttributes();
11349
11350     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11351     void oncontextmenu(VARIANT v);
11352
11353     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11354     VARIANT oncontextmenu();
11355
11356     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
11357     IHTMLElement *insertAdjacentElement(
11358             [in] BSTR where,
11359             [in] IHTMLElement *insertedElement);
11360
11361     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
11362     IHTMLElement *applyElement(
11363             [in] IHTMLElement *apply,
11364             [in] BSTR where);
11365
11366     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
11367     BSTR getAdjacentText([in] BSTR where);
11368
11369     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
11370     BSTR replaceAdjacentText(
11371             [in] BSTR where,
11372             [in] BSTR newText);
11373
11374     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
11375     VARIANT_BOOL canHaveChildren();
11376
11377     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
11378     LONG addBehavior(
11379             [in] BSTR bstrUrl,
11380             [in, optional] VARIANT *pvarFactory);
11381
11382     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
11383     VARIANT_BOOL removeBehavior([in] LONG cookie);
11384
11385     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
11386     IHTMLStyle *runtimeStyle();
11387
11388     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
11389     IDispatch *behaviorUrns();
11390
11391     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
11392     void tagUrn(BSTR v);
11393
11394     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
11395     BSTR tagUrn();
11396
11397     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11398     void onbeforeeditfocus(VARIANT v);
11399
11400     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11401     VARIANT onbeforeeditfocus();
11402
11403     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
11404     LONG readyStateValue();
11405
11406     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
11407     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
11408
11409     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
11410     void mergeAttributes(
11411             [in] IHTMLElement *mergeThis,
11412             [in, optional] VARIANT *pvarFlags);
11413
11414     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
11415     VARIANT_BOOL isMultiLine();
11416
11417     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
11418     VARIANT_BOOL canHaveHTML();
11419
11420     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11421     void onlayoutcomplete(VARIANT v);
11422
11423     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11424     VARIANT onlayoutcomplete();
11425
11426     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11427     void onpage(VARIANT v);
11428
11429     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11430     VARIANT onpage();
11431
11432     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11433     void inflateBlock(VARIANT_BOOL v);
11434
11435     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11436     VARIANT_BOOL inflateBlock();
11437
11438     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11439     void onbeforedeactivate(VARIANT v);
11440
11441     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11442     VARIANT onbeforedeactivate();
11443
11444     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
11445     void setActive();
11446
11447     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11448     void contentEditable(BSTR v);
11449
11450     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11451     BSTR contentEditable();
11452
11453     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
11454     VARIANT_BOOL isContentEditable();
11455
11456     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11457     void hideFocus(VARIANT_BOOL v);
11458
11459     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11460     VARIANT_BOOL hideFocus();
11461
11462     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11463     void disabled(VARIANT_BOOL v);
11464
11465     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11466     VARIANT_BOOL disabled();
11467
11468     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
11469     VARIANT_BOOL isDisabled();
11470
11471     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11472     void onmove(VARIANT v);
11473
11474     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11475     VARIANT onmove();
11476
11477     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11478     void oncontrolselect(VARIANT v);
11479
11480     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11481     VARIANT oncontrolselect();
11482
11483     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
11484     VARIANT_BOOL fireEvent(
11485             [in] BSTR bstrEventName,
11486             [in, optional] VARIANT *pvarEventObject);
11487
11488     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11489     void onresizestart(VARIANT v);
11490
11491     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11492     VARIANT onresizestart();
11493
11494     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11495     void onresizeend(VARIANT v);
11496
11497     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11498     VARIANT onresizeend();
11499
11500     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11501     void onmovestart(VARIANT v);
11502
11503     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11504     VARIANT onmovestart();
11505
11506     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11507     void onmoveend(VARIANT v);
11508
11509     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11510     VARIANT onmoveend();
11511
11512     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11513     void onmouseenter(VARIANT v);
11514
11515     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11516     VARIANT onmouseenter();
11517
11518     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11519     void onmouseleave(VARIANT v);
11520
11521     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11522     VARIANT onmouseleave();
11523
11524     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11525     void onactivate(VARIANT v);
11526
11527     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11528     VARIANT onactivate();
11529
11530     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11531     void ondeactivate(VARIANT v);
11532
11533     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11534     VARIANT ondeactivate();
11535
11536     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
11537     VARIANT_BOOL dragDrop();
11538
11539     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
11540     LONG glyphMode();
11541
11542     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11543     void onmousewheel(VARIANT v);
11544
11545     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11546     VARIANT onmousewheel();
11547
11548     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
11549     void normalize();
11550
11551     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
11552     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
11553
11554     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
11555     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
11556
11557     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
11558     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
11559
11560     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11561     void onbeforeactivate(VARIANT v);
11562
11563     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11564     VARIANT onbeforeactivate();
11565
11566     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11567     void onfocusin(VARIANT v);
11568
11569     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11570     VARIANT onfocusin();
11571
11572     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11573     void onfocusout(VARIANT v);
11574
11575     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11576     VARIANT onfocusout();
11577
11578     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
11579     LONG uniqueNumber();
11580
11581     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
11582     BSTR uniqueID();
11583
11584     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
11585     LONG nodeType();
11586
11587     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
11588     IHTMLDOMNode *parentNode();
11589
11590     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
11591     VARIANT_BOOL hasChildNodes();
11592
11593     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
11594     IDispatch *childNodes();
11595
11596     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
11597     IDispatch *attributes();
11598
11599     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
11600     IHTMLDOMNode *insertBefore(
11601             [in] IHTMLDOMNode *newChild,
11602             [in, optional] VARIANT refChild);
11603
11604     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
11605     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
11606
11607     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
11608     IHTMLDOMNode *replaceChild(
11609             [in] IHTMLDOMNode *newChild,
11610             [in] IHTMLDOMNode *oldChild);
11611
11612     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
11613     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
11614
11615     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
11616     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
11617
11618     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
11619     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
11620
11621     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
11622     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
11623
11624     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
11625     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
11626
11627     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
11628     BSTR nodeName();
11629
11630     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11631     void nodeValue(VARIANT v);
11632
11633     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11634     VARIANT nodeValue();
11635
11636     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
11637     IHTMLDOMNode *firstChild();
11638
11639     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
11640     IHTMLDOMNode *lastChild();
11641
11642     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
11643     IHTMLDOMNode *previousSibling();
11644
11645     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
11646     IHTMLDOMNode *nextSibling();
11647
11648     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
11649     IDispatch *ownerDocument();
11650
11651     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11652     void dataFld(BSTR v);
11653
11654     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11655     BSTR dataFld();
11656
11657     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
11658     void dataSrc(BSTR v);
11659
11660     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
11661     BSTR dataSrc();
11662
11663     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11664     void dataFormatAs(BSTR v);
11665
11666     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11667     BSTR dataFormatAs();
11668
11669     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11670     void type(BSTR v);
11671
11672     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11673     BSTR type();
11674
11675     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11676     void value(BSTR v);
11677
11678     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11679     BSTR value();
11680
11681     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11682     void name(BSTR v);
11683
11684     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11685     BSTR name();
11686
11687     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11688     void status(VARIANT_BOOL v);
11689
11690     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11691     VARIANT_BOOL status();
11692
11693     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
11694     IHTMLFormElement *form();
11695
11696     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11697     void size(LONG v);
11698
11699     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11700     LONG size();
11701
11702     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11703     void maxLength(LONG v);
11704
11705     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11706     LONG maxLength();
11707
11708     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
11709     void select();
11710
11711     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11712     void onchange(VARIANT v);
11713
11714     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11715     VARIANT onchange();
11716
11717     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11718     void onselect(VARIANT v);
11719
11720     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11721     VARIANT onselect();
11722
11723     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11724     void defaultValue(BSTR v);
11725
11726     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11727     BSTR defaultValue();
11728
11729     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11730     void readOnly(VARIANT_BOOL v);
11731
11732     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11733     VARIANT_BOOL readOnly();
11734
11735     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
11736     IHTMLTxtRange *createTextRange();
11737
11738     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11739     void indeterminate(VARIANT_BOOL v);
11740
11741     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11742     VARIANT_BOOL indeterminate();
11743
11744     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11745     void defaultChecked(VARIANT_BOOL v);
11746
11747     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11748     VARIANT_BOOL defaultChecked();
11749
11750     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11751     void checked(VARIANT_BOOL v);
11752
11753     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11754     VARIANT_BOOL checked();
11755
11756     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11757     void border(VARIANT v);
11758
11759     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11760     VARIANT border();
11761
11762     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11763     void vspace(LONG v);
11764
11765     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11766     LONG vspace();
11767
11768     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11769     void hspace(LONG v);
11770
11771     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11772     LONG hspace();
11773
11774     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11775     void alt(BSTR v);
11776
11777     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11778     BSTR alt();
11779
11780     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11781     void src(BSTR v);
11782
11783     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11784     BSTR src();
11785
11786     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11787     void lowsrc(BSTR v);
11788
11789     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11790     BSTR lowsrc();
11791
11792     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11793     void vrml(BSTR v);
11794
11795     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11796     BSTR vrml();
11797
11798     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11799     void dynsrc(BSTR v);
11800
11801     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11802     BSTR dynsrc();
11803
11804     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
11805     VARIANT_BOOL complete();
11806
11807     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11808     void loop(VARIANT v);
11809
11810     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11811     VARIANT loop();
11812
11813     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11814     void align(BSTR v);
11815
11816     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11817     BSTR align();
11818
11819     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11820     void onload(VARIANT v);
11821
11822     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11823     VARIANT onload();
11824
11825     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11826     void onerror(VARIANT v);
11827
11828     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
11829     VARIANT onerror();
11830
11831     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11832     void onabort(VARIANT v);
11833
11834     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
11835     VARIANT onabort();
11836
11837     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11838     void width(LONG v);
11839
11840     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
11841     LONG width();
11842
11843     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11844     void height(LONG v);
11845
11846     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
11847     LONG height();
11848
11849     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11850     void start(BSTR v);
11851
11852     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
11853     BSTR start();
11854
11855     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11856     void accept(BSTR v);
11857
11858     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
11859     BSTR accept();
11860
11861     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11862     void useMap(BSTR v);
11863
11864     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
11865     BSTR useMap();
11866 }
11867
11868 /*****************************************************************************
11869  *    IHTMLTextAreaElement interface
11870  */
11871 [
11872     odl,
11873     oleautomation,
11874     dual,
11875     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
11876 ]
11877 interface IHTMLTextAreaElement : IDispatch
11878 {
11879     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
11880     HRESULT type([retval, out] BSTR *p);
11881
11882     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11883     HRESULT value([in] BSTR v);
11884
11885     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
11886     HRESULT value([retval, out] BSTR *p);
11887
11888     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11889     HRESULT name([in] BSTR v);
11890
11891     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
11892     HRESULT name([retval, out] BSTR *p);
11893
11894     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11895     HRESULT status([in] VARIANT v);
11896
11897     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
11898     HRESULT status([retval, out] VARIANT *p);
11899
11900     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11901     HRESULT disabled([in] VARIANT_BOOL v);
11902
11903     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
11904     HRESULT disabled([retval, out] VARIANT_BOOL *p);
11905
11906     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
11907     HRESULT form([retval, out] IHTMLFormElement **p);
11908
11909     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11910     HRESULT defaultValue([in] BSTR v);
11911
11912     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11913     HRESULT defaultValue([retval, out] BSTR *p);
11914
11915     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
11916     HRESULT select();
11917
11918     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11919     HRESULT onchange([in] VARIANT v);
11920
11921     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
11922     HRESULT onchange([retval, out] VARIANT *p);
11923
11924     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11925     HRESULT onselect([in] VARIANT v);
11926
11927     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
11928     HRESULT onselect([retval, out] VARIANT *p);
11929
11930     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11931     HRESULT readOnly([in] VARIANT_BOOL v);
11932
11933     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
11934     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
11935
11936     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11937     HRESULT rows([in] LONG v);
11938
11939     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
11940     HRESULT rows([retval, out] LONG *p);
11941
11942     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11943     HRESULT cols([in] LONG v);
11944
11945     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
11946     HRESULT cols([retval, out] LONG *p);
11947
11948     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11949     HRESULT wrap([in] BSTR v);
11950
11951     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
11952     HRESULT wrap([retval, out] BSTR *p);
11953
11954     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
11955     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
11956 }
11957
11958 /*****************************************************************************
11959  *    DispHTMLUnknownElement interface
11960  */
11961 [
11962     hidden,
11963     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
11964 ]
11965 dispinterface DispHTMLUnknownElement
11966 {
11967 properties:
11968 methods:
11969     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
11970     void setAttribute(
11971             [in] BSTR strAttributeName,
11972             [in] VARIANT AttributeValue,
11973             [in, defaultvalue(1)] LONG lFlags);
11974
11975     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
11976     VARIANT getAttribute(
11977              [in] BSTR strAttributeName,
11978              [in, defaultvalue(0)] LONG lFlags);
11979
11980     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
11981     VARIANT_BOOL removeAttribute(
11982             [in] BSTR strAttributeName,
11983             [in, defaultvalue(1)] LONG lFlags);
11984
11985     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11986     void className(BSTR v);
11987
11988     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11989     BSTR className();
11990
11991     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
11992     void id(BSTR v);
11993
11994     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
11995     BSTR id();
11996
11997     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
11998     BSTR tagName();
11999
12000     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
12001     IHTMLElement *parentElement();
12002
12003     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
12004     IHTMLStyle *style();
12005
12006     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
12007     void onhelp(VARIANT v);
12008
12009     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
12010     VARIANT onhelp();
12011
12012     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
12013     void onclick(VARIANT v);
12014
12015     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
12016     VARIANT onclick();
12017
12018     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
12019     void ondblclick(VARIANT v);
12020
12021     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
12022     VARIANT ondblclick();
12023
12024     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
12025     void onkeydown(VARIANT v);
12026
12027     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
12028     VARIANT onkeydown();
12029
12030     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
12031     void onkeyup(VARIANT v);
12032
12033     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
12034     VARIANT onkeyup();
12035
12036     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
12037     void onkeypress(VARIANT v);
12038
12039     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
12040     VARIANT onkeypress();
12041
12042     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
12043     void onmouseout(VARIANT v);
12044
12045     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
12046     VARIANT onmouseout();
12047
12048     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
12049     void onmouseover(VARIANT v);
12050
12051     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
12052     VARIANT onmouseover();
12053
12054     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
12055     void onmousemove(VARIANT v);
12056
12057     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
12058     VARIANT onmousemove();
12059
12060     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
12061     void onmousedown(VARIANT v);
12062
12063     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
12064     VARIANT onmousedown();
12065
12066     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
12067     void onmouseup(VARIANT v);
12068
12069     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
12070     VARIANT onmouseup();
12071
12072     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
12073     IDispatch *document();
12074
12075     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
12076     void title(BSTR v);
12077
12078     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
12079     BSTR title();
12080
12081     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
12082     void language(BSTR v);
12083
12084     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
12085     BSTR language();
12086
12087     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
12088     void onselectstart(VARIANT v);
12089
12090     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
12091     VARIANT onselectstart();
12092
12093     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
12094     void scrollIntoView([in, optional] VARIANT varargStart);
12095
12096     [id(DISPID_IHTMLELEMENT_CONTAINS)]
12097     VARIANT_BOOL contains([in] IHTMLElement *pChild);
12098
12099     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
12100     LONG sourceIndex();
12101
12102     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
12103     VARIANT recordNumber();
12104
12105     [propput, id(DISPID_IHTMLELEMENT_LANG)]
12106     void lang(BSTR v);
12107
12108     [propget, id(DISPID_IHTMLELEMENT_LANG)]
12109     BSTR lang();
12110
12111     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
12112     LONG offsetLeft();
12113
12114     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
12115     LONG offsetTop();
12116
12117     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
12118     LONG offsetWidth();
12119
12120     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
12121     LONG offsetHeight();
12122
12123     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
12124     IHTMLElement *offsetParent();
12125
12126     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
12127     void innerHTML(BSTR v);
12128
12129     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
12130     BSTR innerHTML();
12131
12132     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
12133     void innerText(BSTR v);
12134
12135     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
12136     BSTR innerText();
12137
12138     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
12139     void outerHTML(BSTR v);
12140
12141     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
12142     BSTR outerHTML();
12143
12144     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
12145     void outerText(BSTR v);
12146
12147     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
12148     BSTR outerText();
12149
12150     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
12151     void insertAdjacentHTML(
12152             [in] BSTR where,
12153             [in] BSTR html);
12154
12155     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
12156     void insertAdjacentText(
12157             [in] BSTR where,
12158             [in] BSTR text);
12159
12160     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
12161     IHTMLElement *parentTextEdit();
12162
12163     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
12164     VARIANT_BOOL isTextEdit();
12165
12166     [id(DISPID_IHTMLELEMENT_CLICK)]
12167     void click();
12168
12169     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
12170     IHTMLFiltersCollection *filters();
12171
12172     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
12173     void ondragstart(VARIANT v);
12174
12175     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
12176     VARIANT ondragstart();
12177
12178     [id(DISPID_IHTMLELEMENT_TOSTRING)]
12179     BSTR toString();
12180
12181     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
12182     void onbeforeupdate(VARIANT v);
12183
12184     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
12185     VARIANT onbeforeupdate();
12186
12187     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
12188     void onafterupdate(VARIANT v);
12189
12190     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
12191     VARIANT onafterupdate();
12192
12193     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
12194     void onerrorupdate(VARIANT v);
12195
12196     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
12197     VARIANT onerrorupdate();
12198
12199     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
12200     void onrowexit(VARIANT v);
12201
12202     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
12203     VARIANT onrowexit();
12204
12205     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
12206     void onrowenter(VARIANT v);
12207
12208     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
12209     VARIANT onrowenter();
12210
12211     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
12212     void ondatasetchanged(VARIANT v);
12213
12214     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
12215     VARIANT ondatasetchanged();
12216
12217     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
12218     void ondataavailable(VARIANT v);
12219
12220     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
12221     VARIANT ondataavailable();
12222
12223     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
12224     void ondatasetcomplete(VARIANT v);
12225
12226     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
12227     VARIANT ondatasetcomplete();
12228
12229     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12230     void onfilterchange(VARIANT v);
12231
12232     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12233     VARIANT onfilterchange();
12234
12235     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
12236     IDispatch *children();
12237
12238     [propget, id(DISPID_IHTMLELEMENT_ALL)]
12239     IDispatch *all();
12240
12241     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
12242     BSTR scopeName();
12243
12244     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
12245     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
12246
12247     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
12248     void releaseCapture();
12249
12250     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12251     void onlosecapture(VARIANT v);
12252
12253     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12254     VARIANT onlosecapture();
12255
12256     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
12257     BSTR componentFromPoint(
12258             [in] LONG x,
12259             [in] LONG y);
12260
12261     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
12262     void doScroll([in, optional] VARIANT component);
12263
12264     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12265     void onscroll(VARIANT v);
12266
12267     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12268     VARIANT onscroll();
12269
12270     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12271     void ondrag(VARIANT v);
12272
12273     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12274     VARIANT ondrag();
12275
12276     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12277     void ondragend(VARIANT v);
12278
12279     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12280     VARIANT ondragend();
12281
12282     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12283     void ondragenter(VARIANT v);
12284
12285     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12286     VARIANT ondragenter();
12287
12288     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12289     void ondragover(VARIANT v);
12290
12291     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12292     VARIANT ondragover();
12293
12294     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12295     void ondragleave(VARIANT v);
12296
12297     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12298     VARIANT ondragleave();
12299
12300     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12301     void ondrop(VARIANT v);
12302
12303     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12304     VARIANT ondrop();
12305
12306     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12307     void onbeforecut(VARIANT v);
12308
12309     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12310     VARIANT onbeforecut();
12311
12312     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12313     void oncut(VARIANT v);
12314
12315     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12316     VARIANT oncut();
12317
12318     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12319     void onbeforecopy(VARIANT v);
12320
12321     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12322     VARIANT onbeforecopy();
12323
12324     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12325     void oncopy(VARIANT v);
12326
12327     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12328     VARIANT oncopy();
12329
12330     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12331     void onbeforepaste(VARIANT v);
12332
12333     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12334     VARIANT onbeforepaste();
12335
12336     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12337     void onpaste(VARIANT v);
12338
12339     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12340     VARIANT onpaste();
12341
12342     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
12343     IHTMLCurrentStyle *currentStyle();
12344
12345     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12346     void onpropertychange(VARIANT v);
12347
12348     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12349     VARIANT onpropertychange();
12350
12351     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
12352     IHTMLRectCollection *getClientRects();
12353
12354     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
12355     IHTMLRect *getBoundingClientRect();
12356
12357     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
12358     void setExpression(
12359             [in] BSTR propname,
12360             [in] BSTR expression,
12361             [in, defaultvalue("")] BSTR language);
12362
12363     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
12364     VARIANT getExpression([in] BSTR propname);
12365
12366     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
12367     VARIANT_BOOL removeExpression([in] BSTR propname);
12368
12369     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12370     void tabIndex(short v);
12371
12372     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12373     short tabIndex();
12374
12375     [id(DISPID_IHTMLELEMENT2_FOCUS)]
12376     void focus();
12377
12378     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12379     void accessKey(BSTR v);
12380
12381     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12382     BSTR accessKey();
12383
12384     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12385     void onblur(VARIANT v);
12386
12387     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12388     VARIANT onblur();
12389
12390     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12391     void onfocus(VARIANT v);
12392
12393     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12394     VARIANT onfocus();
12395
12396     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12397     void onresize(VARIANT v);
12398
12399     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12400     VARIANT onresize();
12401
12402     [id(DISPID_IHTMLELEMENT2_BLUR)]
12403     void blur();
12404
12405     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
12406     void addFilter([in] IUnknown *pUnk);
12407
12408     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
12409     void removeFilter([in] IUnknown *pUnk);
12410
12411     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
12412     LONG clientHeight();
12413
12414     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
12415     LONG clientWidth();
12416
12417     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
12418     LONG clientTop();
12419
12420     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
12421     LONG clientLeft();
12422
12423     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
12424     VARIANT_BOOL attachEvent(
12425             [in] BSTR event,
12426             [in] IDispatch *pDisp);
12427
12428     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
12429     void detachEvent(
12430             [in] BSTR event,
12431             [in] IDispatch *pDisp);
12432
12433     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
12434     VARIANT readyState();
12435
12436     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12437     void onreadystatechange(VARIANT v);
12438
12439     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12440     VARIANT onreadystatechange();
12441
12442     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12443     void onrowsdelete(VARIANT v);
12444
12445     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12446     VARIANT onrowsdelete();
12447
12448     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12449     void onrowsinserted(VARIANT v);
12450
12451     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12452      VARIANT onrowsinserted();
12453
12454     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12455      void oncellchange(VARIANT v);
12456
12457     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12458     VARIANT oncellchange();
12459
12460     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12461     void dir(BSTR v);
12462
12463     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12464     BSTR dir();
12465
12466     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
12467     IDispatch *createControlRange();
12468
12469     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
12470     LONG scrollHeight();
12471
12472     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
12473     LONG scrollWidth();
12474
12475     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12476     void scrollTop(LONG v);
12477
12478     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12479     LONG scrollTop();
12480
12481     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
12482     void scrollLeft(LONG v);
12483
12484     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
12485     LONG scrollLeft();
12486
12487     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
12488     void clearAttributes();
12489
12490     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
12491     void oncontextmenu(VARIANT v);
12492
12493     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
12494     VARIANT oncontextmenu();
12495
12496     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
12497     IHTMLElement *insertAdjacentElement(
12498             [in] BSTR where,
12499             [in] IHTMLElement *insertedElement);
12500
12501     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
12502     IHTMLElement *applyElement(
12503             [in] IHTMLElement *apply,
12504             [in] BSTR where);
12505
12506     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
12507     BSTR getAdjacentText([in] BSTR where);
12508
12509     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
12510     BSTR replaceAdjacentText(
12511             [in] BSTR where,
12512             [in] BSTR newText);
12513
12514     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
12515     VARIANT_BOOL canHaveChildren();
12516
12517     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
12518     LONG addBehavior(
12519             [in] BSTR bstrUrl,
12520             [in, optional] VARIANT *pvarFactory);
12521
12522     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
12523     VARIANT_BOOL removeBehavior([in] LONG cookie);
12524
12525     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
12526     IHTMLStyle *runtimeStyle();
12527
12528     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
12529     IDispatch *behaviorUrns();
12530
12531     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
12532     void tagUrn(BSTR v);
12533
12534     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
12535     BSTR tagUrn();
12536
12537     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12538     void onbeforeeditfocus(VARIANT v);
12539
12540     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12541     VARIANT onbeforeeditfocus();
12542
12543     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
12544     LONG readyStateValue();
12545
12546     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
12547     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12548
12549     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
12550     void mergeAttributes(
12551             [in] IHTMLElement *mergeThis,
12552             [in, optional] VARIANT *pvarFlags);
12553
12554     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
12555     VARIANT_BOOL isMultiLine();
12556
12557     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
12558     VARIANT_BOOL canHaveHTML();
12559
12560     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12561     void onlayoutcomplete(VARIANT v);
12562
12563     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12564     VARIANT onlayoutcomplete();
12565
12566     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12567     void onpage(VARIANT v);
12568
12569     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12570     VARIANT onpage();
12571
12572     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12573     void inflateBlock(VARIANT_BOOL v);
12574
12575     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12576     VARIANT_BOOL inflateBlock();
12577
12578     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12579     void onbeforedeactivate(VARIANT v);
12580
12581     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12582     VARIANT onbeforedeactivate();
12583
12584     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
12585     void setActive();
12586
12587     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12588     void contentEditable(BSTR v);
12589
12590     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12591     BSTR contentEditable();
12592
12593     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
12594     VARIANT_BOOL isContentEditable();
12595
12596     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12597     void hideFocus(VARIANT_BOOL v);
12598
12599     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12600     VARIANT_BOOL hideFocus();
12601
12602     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12603     void disabled(VARIANT_BOOL v);
12604
12605     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12606     VARIANT_BOOL disabled();
12607
12608     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
12609     VARIANT_BOOL isDisabled();
12610
12611     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12612     void onmove(VARIANT v);
12613
12614     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12615     VARIANT onmove();
12616
12617     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12618     void oncontrolselect(VARIANT v);
12619
12620     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12621     VARIANT oncontrolselect();
12622
12623     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
12624     VARIANT_BOOL fireEvent(
12625             [in] BSTR bstrEventName,
12626             [in, optional] VARIANT *pvarEventObject);
12627
12628     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12629     void onresizestart(VARIANT v);
12630
12631     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12632     VARIANT onresizestart();
12633
12634     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12635     void onresizeend(VARIANT v);
12636
12637     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12638     VARIANT onresizeend();
12639
12640     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12641     void onmovestart(VARIANT v);
12642
12643     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12644     VARIANT onmovestart();
12645
12646     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12647     void onmoveend(VARIANT v);
12648
12649     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12650     VARIANT onmoveend();
12651
12652     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12653     void onmouseenter(VARIANT v);
12654
12655     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12656     VARIANT onmouseenter();
12657
12658     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12659     void onmouseleave(VARIANT v);
12660
12661     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12662     VARIANT onmouseleave();
12663
12664     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12665     void onactivate(VARIANT v);
12666
12667     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12668     VARIANT onactivate();
12669
12670     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12671     void ondeactivate(VARIANT v);
12672
12673     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12674     VARIANT ondeactivate();
12675
12676     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
12677     VARIANT_BOOL dragDrop();
12678
12679     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
12680     LONG glyphMode();
12681
12682     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12683     void onmousewheel(VARIANT v);
12684
12685     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12686     VARIANT onmousewheel();
12687
12688     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
12689     void normalize();
12690
12691     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
12692     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
12693
12694     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
12695     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
12696
12697     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
12698     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
12699
12700     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12701     void onbeforeactivate(VARIANT v);
12702
12703     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12704     VARIANT onbeforeactivate();
12705
12706     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12707     void onfocusin(VARIANT v);
12708
12709     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12710     VARIANT onfocusin();
12711
12712     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12713     void onfocusout(VARIANT v);
12714
12715     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12716     VARIANT onfocusout();
12717
12718     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
12719     LONG uniqueNumber();
12720
12721     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
12722     BSTR uniqueID();
12723
12724     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
12725     LONG nodeType();
12726
12727     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
12728     IHTMLDOMNode *parentNode();
12729
12730     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
12731     VARIANT_BOOL hasChildNodes();
12732
12733     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
12734     IDispatch *childNodes();
12735
12736     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
12737     IDispatch *attributes();
12738
12739     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
12740     IHTMLDOMNode *insertBefore(
12741             [in] IHTMLDOMNode *newChild,
12742             [in, optional] VARIANT refChild);
12743
12744     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
12745     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
12746
12747     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
12748     IHTMLDOMNode *replaceChild(
12749             [in] IHTMLDOMNode *newChild,
12750             [in] IHTMLDOMNode *oldChild);
12751
12752     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
12753     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
12754
12755     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
12756     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
12757
12758     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
12759     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
12760
12761     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
12762     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
12763
12764     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
12765     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
12766
12767     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
12768     BSTR nodeName();
12769
12770     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12771     void nodeValue(VARIANT v);
12772
12773     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12774     VARIANT nodeValue();
12775
12776     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
12777     IHTMLDOMNode *firstChild();
12778
12779     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
12780     IHTMLDOMNode *lastChild();
12781
12782     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
12783     IHTMLDOMNode *previousSibling();
12784
12785     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
12786     IHTMLDOMNode *nextSibling();
12787
12788     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
12789     IDispatch *ownerDocument();
12790 }
12791
12792 /*****************************************************************************
12793  *    IOmHistory interface
12794  */
12795 [
12796     odl,
12797     oleautomation,
12798     dual,
12799     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
12800 ]
12801 interface IOmHistory : IDispatch
12802 {
12803     [propget, id(DISPID_IOMHISTORY_LENGTH)]
12804     HRESULT length([retval, out] short *p);
12805
12806     [id(DISPID_IOMHISTORY_BACK)]
12807     HRESULT back([optional, in] VARIANT *pvargdistance);
12808
12809     [id(DISPID_IOMHISTORY_FORWARD)]
12810     HRESULT forward([optional, in] VARIANT *pvargdistance);
12811
12812     [id(DISPID_IOMHISTORY_GO)]
12813     HRESULT go([optional, in] VARIANT *pvargdistance);
12814 }
12815
12816 [
12817     noncreatable,
12818     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
12819 ]
12820 coclass HTMLHistory
12821 {
12822     [default]           interface IOmHistory;
12823 }
12824
12825 /*****************************************************************************
12826  *    IHTMLMimeTypesCollection interface
12827  */
12828 [
12829     odl,
12830     oleautomation,
12831     dual,
12832     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
12833 ]
12834 interface IHTMLMimeTypesCollection : IDispatch
12835 {
12836     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
12837     HRESULT length([retval, out] LONG *p);
12838 }
12839
12840 [
12841     noncreatable,
12842     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
12843 ]
12844 coclass CMimeTypes
12845 {
12846     [default]           interface IHTMLMimeTypesCollection;
12847 }
12848
12849 /*****************************************************************************
12850  *    IHTMLPluginsCollection interface
12851  */
12852 [
12853     odl,
12854     oleautomation,
12855     dual,
12856     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
12857 ]
12858 interface IHTMLPluginsCollection : IDispatch
12859 {
12860     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
12861     HRESULT length([retval, out] LONG *p);
12862
12863     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
12864     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
12865 }
12866
12867 [
12868     noncreatable,
12869     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
12870 ]
12871 coclass CPlugins
12872 {
12873     [default]           interface IHTMLPluginsCollection;
12874 }
12875
12876 /*****************************************************************************
12877  *    IHTMLOpsProfile interface
12878  */
12879 [
12880     odl,
12881     oleautomation,
12882     dual,
12883     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
12884 ]
12885 interface IHTMLOpsProfile : IDispatch
12886 {
12887     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
12888     HRESULT addRequest(
12889         [in] BSTR name,
12890         [optional, in] VARIANT reserved,
12891         [retval, out] VARIANT_BOOL *success);
12892
12893     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
12894     HRESULT clearRequest();
12895
12896     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
12897     HRESULT doRequest(
12898         [in] VARIANT usage,
12899         [optional, in] VARIANT fname,
12900         [optional, in] VARIANT domain,
12901         [optional, in] VARIANT path,
12902         [optional, in] VARIANT expire,
12903         [optional, in] VARIANT reserved);
12904
12905     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
12906     HRESULT getAttribute(
12907         [in] BSTR name,
12908         [retval, out] BSTR *value);
12909
12910     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
12911     HRESULT setAttribute(
12912         [in] BSTR name,
12913         [in] BSTR value,
12914         [optional, in] VARIANT prefs,
12915         [retval, out] VARIANT_BOOL *success);
12916
12917     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
12918     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
12919
12920     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
12921     HRESULT addReadRequest(
12922         [in] BSTR name,
12923         [optional, in] VARIANT reserved,
12924         [retval, out] VARIANT_BOOL *success);
12925
12926     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
12927     HRESULT doReadRequest(
12928         [in] VARIANT usage,
12929         [optional, in] VARIANT fname,
12930         [optional, in] VARIANT domain,
12931         [optional, in] VARIANT path,
12932         [optional, in] VARIANT expire,
12933         [optional, in] VARIANT reserved);
12934
12935     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
12936     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
12937 }
12938
12939 [
12940     noncreatable,
12941     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
12942 ]
12943 coclass COpsProfile
12944 {
12945     [default]           interface IHTMLOpsProfile;
12946 }
12947
12948 /*****************************************************************************
12949  *    IOmNavigator interface
12950  */
12951 [
12952         odl,
12953         oleautomation,
12954         dual,
12955         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
12956 ]
12957 interface IOmNavigator : IDispatch
12958 {
12959     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
12960     HRESULT appCodeName([retval, out] BSTR *p);
12961
12962     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
12963     HRESULT appName([retval, out] BSTR *p);
12964
12965     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
12966     HRESULT appVersion([retval, out] BSTR *p);
12967
12968     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
12969     HRESULT userAgent([retval, out] BSTR *p);
12970
12971     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
12972     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
12973
12974     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
12975     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
12976
12977     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
12978     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
12979
12980     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
12981     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
12982
12983     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
12984     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
12985
12986     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
12987     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
12988
12989     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
12990     HRESULT toString([retval, out] BSTR *String);
12991
12992     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
12993     HRESULT cpuClass([retval, out] BSTR *p);
12994
12995     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
12996     HRESULT systemLanguage([retval, out] BSTR *p);
12997
12998     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
12999     HRESULT browserLanguage([retval, out] BSTR *p);
13000
13001     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
13002     HRESULT userLanguage([retval, out] BSTR *p);
13003
13004     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
13005     HRESULT platform([retval, out] BSTR *p);
13006
13007     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
13008     HRESULT appMinorVersion([retval, out] BSTR *p);
13009
13010     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
13011     HRESULT connectionSpeed([retval, out] LONG *p);
13012
13013     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
13014     HRESULT onLine([retval, out] VARIANT_BOOL *p);
13015
13016     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
13017     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
13018 }
13019
13020 [
13021     noncreatable,
13022     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
13023 ]
13024 coclass HTMLNavigator
13025 {
13026     [default]           interface IOmNavigator;
13027 }
13028
13029 /*****************************************************************************
13030  *    IHTMLLocation interface
13031  */
13032 [
13033     odl,
13034     oleautomation,
13035     dual,
13036     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
13037 ]
13038 interface IHTMLLocation : IDispatch
13039 {
13040     [propput, id(DISPID_IHTMLLOCATION_HREF)]
13041     HRESULT href([in] BSTR v);
13042
13043     [propget, id(DISPID_IHTMLLOCATION_HREF)]
13044     HRESULT href([retval, out] BSTR *p);
13045
13046     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
13047     HRESULT protocol([in] BSTR v);
13048
13049     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
13050     HRESULT protocol([retval, out] BSTR *p);
13051
13052     [propput, id(DISPID_IHTMLLOCATION_HOST)]
13053     HRESULT host([in] BSTR v);
13054
13055     [propget, id(DISPID_IHTMLLOCATION_HOST)]
13056     HRESULT host([retval, out] BSTR *p);
13057
13058     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
13059     HRESULT hostname([in] BSTR v);
13060
13061     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
13062     HRESULT hostname([retval, out] BSTR *p);
13063
13064     [propput, id(DISPID_IHTMLLOCATION_PORT)]
13065     HRESULT port([in] BSTR v);
13066
13067     [propget, id(DISPID_IHTMLLOCATION_PORT)]
13068     HRESULT port([retval, out] BSTR *p);
13069
13070     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
13071     HRESULT pathname([in] BSTR v);
13072
13073     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
13074     HRESULT pathname([retval, out] BSTR *p);
13075
13076     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
13077     HRESULT search([in] BSTR v);
13078
13079     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
13080     HRESULT search([retval, out] BSTR *p);
13081
13082     [propput, id(DISPID_IHTMLLOCATION_HASH)]
13083     HRESULT hash([in] BSTR v);
13084
13085     [propget, id(DISPID_IHTMLLOCATION_HASH)]
13086     HRESULT hash([retval, out] BSTR *p);
13087
13088     [id(DISPID_IHTMLLOCATION_RELOAD)]
13089     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
13090
13091     [id(DISPID_IHTMLLOCATION_REPLACE)]
13092     HRESULT replace([in] BSTR bstr);
13093
13094     [id(DISPID_IHTMLLOCATION_ASSIGN)]
13095     HRESULT assign([in] BSTR bstr);
13096
13097     [id(DISPID_IHTMLLOCATION_TOSTRING)]
13098     HRESULT toString([retval, out] BSTR *String);
13099 }
13100
13101 [
13102     noncreatable,
13103     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
13104 ]
13105 coclass HTMLLocation
13106 {
13107     [default]           interface IHTMLLocation;
13108 }
13109
13110 [
13111     odl,
13112     oleautomation,
13113     dual,
13114     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
13115 ]
13116 interface IHTMLBookmarkCollection : IDispatch
13117 {
13118     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
13119     HRESULT length([out, retval] LONG *p);
13120
13121     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
13122     HRESULT _newEnum([out, retval] IUnknown **p);
13123
13124     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
13125     HRESULT item(
13126             [in] LONG index,
13127             [out, retval] VARIANT *pVarBookmark);
13128 }
13129
13130 /*****************************************************************************
13131  *    IHTMLDataTransfer interface
13132  */
13133 [
13134     odl,
13135     oleautomation,
13136     dual,
13137     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
13138 ]
13139 interface IHTMLDataTransfer : IDispatch
13140 {
13141     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
13142     HRESULT setData(
13143             [in] BSTR format,
13144             [in] VARIANT *data,
13145             [out, retval] VARIANT_BOOL *pret);
13146
13147     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
13148     HRESULT getData(
13149             [in] BSTR format,
13150             [out, retval] VARIANT *pvarRet);
13151
13152     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
13153     HRESULT clearData(
13154             [in] BSTR format,
13155             [out, retval] VARIANT_BOOL *pret);
13156
13157     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
13158     HRESULT dropEffect([in] BSTR v);
13159
13160     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
13161     HRESULT dropEffect([out, retval] BSTR *p);
13162
13163     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
13164     HRESULT effectAllowed([in] BSTR v);
13165
13166     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
13167     HRESULT effectAllowed([out, retval] BSTR *p);
13168 }
13169
13170 /*****************************************************************************
13171  *    IHTMLEventObj interface
13172  */
13173 [
13174     odl,
13175     oleautomation,
13176     dual,
13177     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
13178 ]
13179 interface IHTMLEventObj : IDispatch
13180 {
13181     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
13182     HRESULT srcElement([retval, out] IHTMLElement **p);
13183
13184     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
13185     HRESULT altKey([retval, out] VARIANT_BOOL *p);
13186
13187     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
13188     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
13189
13190     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
13191     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
13192
13193     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13194     HRESULT returnValue([in] VARIANT v);
13195
13196     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13197     HRESULT returnValue([retval, out] VARIANT *p);
13198
13199     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13200     HRESULT cancelBubble([in] VARIANT_BOOL v);
13201
13202     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13203     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
13204
13205     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
13206     HRESULT fromElement([retval, out] IHTMLElement **p);
13207
13208     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
13209     HRESULT toElement([retval, out] IHTMLElement **p);
13210
13211     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13212     HRESULT keyCode([in] LONG v);
13213
13214     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13215     HRESULT keyCode([retval, out] LONG *p);
13216
13217     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
13218     HRESULT button([retval, out] LONG *p);
13219
13220     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
13221     HRESULT type([retval, out] BSTR *p);
13222
13223     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
13224     HRESULT qualifier([retval, out] BSTR *p);
13225
13226     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
13227     HRESULT reason([retval, out] LONG *p);
13228
13229     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
13230     HRESULT x([retval, out] LONG *p);
13231
13232     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
13233     HRESULT y([retval, out] LONG *p);
13234
13235     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
13236     HRESULT clientX([retval, out] LONG *p);
13237
13238     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
13239     HRESULT clientY([retval, out] LONG *p);
13240
13241     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
13242     HRESULT offsetX([retval, out] LONG *p);
13243
13244     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
13245     HRESULT offsetY([retval, out] LONG *p);
13246
13247     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
13248     HRESULT screenX([retval, out] LONG *p);
13249
13250     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
13251     HRESULT screenY([retval, out] LONG *p);
13252
13253     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
13254     HRESULT srcFilter([retval, out] IDispatch **p);
13255 }
13256
13257 /*****************************************************************************
13258  *    DispCEventObj dispinterface
13259  */
13260 [
13261     hidden,
13262     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
13263 ]
13264 dispinterface DispCEventObj
13265 {
13266 properties:
13267 methods:
13268     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13269     void returnValue(VARIANT v);
13270
13271     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13272     VARIANT returnValue();
13273
13274     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13275     void cancelBubble(VARIANT_BOOL v);
13276
13277     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13278     VARIANT_BOOL cancelBubble();
13279
13280     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13281     void keyCode(LONG v);
13282
13283     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13284     LONG keyCode();
13285
13286     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
13287     void setAttribute(
13288             [in] BSTR strAttributeName,
13289             [in] VARIANT AttributeValue,
13290             [in, defaultvalue(1)] LONG lFlags);
13291
13292     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
13293     VARIANT getAttribute(
13294             [in] BSTR strAttributeName,
13295             [in, defaultvalue(0)] LONG lFlags);
13296
13297     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
13298     VARIANT_BOOL removeAttribute(
13299             [in] BSTR strAttributeName,
13300             [in, defaultvalue(1)] LONG lFlags);
13301
13302     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
13303     void propertyName(BSTR v);
13304
13305     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
13306     BSTR propertyName();
13307
13308     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
13309     void bookmarks(IHTMLBookmarkCollection *v);
13310
13311     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
13312     IHTMLBookmarkCollection *bookmarks();
13313
13314     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
13315     void recordset(IDispatch *v);
13316
13317     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
13318     IDispatch *recordset();
13319
13320     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
13321     void dataFld(BSTR v);
13322
13323     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
13324     BSTR dataFld();
13325
13326     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
13327     void boundElements(IHTMLElementCollection *v);
13328
13329     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
13330     IHTMLElementCollection *boundElements();
13331
13332     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
13333     void repeat(VARIANT_BOOL v);
13334
13335     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
13336     VARIANT_BOOL repeat();
13337
13338     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
13339     void srcUrn(BSTR v);
13340
13341     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
13342     BSTR srcUrn();
13343
13344     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
13345     void srcElement(IHTMLElement *v);
13346
13347     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
13348     IHTMLElement *srcElement();
13349
13350     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
13351     void altKey(VARIANT_BOOL v);
13352
13353     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
13354     VARIANT_BOOL altKey();
13355
13356     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
13357     void ctrlKey(VARIANT_BOOL v);
13358
13359     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
13360     VARIANT_BOOL ctrlKey();
13361
13362     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
13363     void shiftKey(VARIANT_BOOL v);
13364
13365     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
13366     VARIANT_BOOL shiftKey();
13367
13368     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
13369     void fromElement(IHTMLElement *v);
13370
13371     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
13372     IHTMLElement *fromElement();
13373
13374     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
13375     void toElement(IHTMLElement *v);
13376
13377     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
13378     IHTMLElement *toElement();
13379
13380     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
13381     void button(LONG v);
13382
13383     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
13384     LONG button();
13385
13386     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
13387     void type(BSTR v);
13388
13389     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
13390     BSTR type();
13391
13392     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
13393     void qualifier(BSTR v);
13394
13395     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
13396     BSTR qualifier();
13397
13398     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
13399     void reason(LONG v);
13400
13401     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
13402     LONG reason();
13403
13404     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
13405     void x(LONG v);
13406
13407     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
13408     LONG x();
13409
13410     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
13411     void y(LONG v);
13412
13413     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
13414     LONG y();
13415
13416     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
13417     void clientX(LONG v);
13418
13419     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
13420     LONG clientX();
13421
13422     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
13423     void clientY(LONG v);
13424
13425     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
13426     LONG clientY();
13427     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
13428     void offsetX(LONG v);
13429
13430     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
13431     LONG offsetX();
13432
13433     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
13434     void offsetY(LONG v);
13435
13436     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
13437     LONG offsetY();
13438
13439     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
13440     void screenX(LONG v);
13441
13442     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
13443     LONG screenX();
13444
13445     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
13446     void screenY(LONG v);
13447
13448     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
13449     LONG screenY();
13450
13451     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
13452     void srcFilter(IDispatch *v);
13453
13454     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
13455     IDispatch *srcFilter();
13456
13457     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
13458     IHTMLDataTransfer *dataTransfer();
13459
13460     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
13461     VARIANT_BOOL contentOverflow();
13462
13463     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
13464     void shiftLeft(VARIANT_BOOL v);
13465
13466     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
13467     VARIANT_BOOL shiftLeft();
13468
13469     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
13470     void altLeft(VARIANT_BOOL v);
13471
13472     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
13473     VARIANT_BOOL altLeft();
13474
13475     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
13476     void ctrlLeft(VARIANT_BOOL v);
13477
13478     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
13479     VARIANT_BOOL ctrlLeft();
13480
13481     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
13482     LONG_PTR imeCompositionChange();
13483
13484     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
13485     LONG_PTR imeNotifyCommand();
13486
13487     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
13488     LONG_PTR imeNotifyData();
13489
13490     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
13491     LONG_PTR imeRequest();
13492
13493     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
13494     LONG_PTR imeRequestData();
13495
13496     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
13497     LONG_PTR keyboardLayout();
13498
13499     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
13500     LONG behaviorCookie();
13501
13502     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
13503     LONG behaviorPart();
13504
13505     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
13506     BSTR nextPage();
13507
13508     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
13509     LONG wheelDelta();
13510 }
13511
13512 /*****************************************************************************
13513  *    IHTMLFramesCollection2 interface
13514  */
13515 [
13516     odl,
13517     oleautomation,
13518     dual,
13519     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
13520 ]
13521 interface IHTMLFramesCollection2 : IDispatch
13522 {
13523     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13524     HRESULT item(
13525         [in] VARIANT *pvarIndex,
13526         [retval, out] VARIANT *pvarResult);
13527
13528     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13529     HRESULT length([retval, out] LONG *p);
13530 }
13531
13532 /*****************************************************************************
13533  *    IHTMLScreen interface
13534  */
13535 [
13536     odl,
13537     oleautomation,
13538     dual,
13539     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
13540 ]
13541 interface IHTMLScreen : IDispatch
13542 {
13543     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
13544     HRESULT colorDepth([retval, out] LONG *p);
13545
13546     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
13547     HRESULT bufferDepth([in] LONG v);
13548
13549     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
13550     HRESULT bufferDepth([retval, out] LONG *p);
13551
13552     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
13553     HRESULT width([retval, out] LONG *p);
13554
13555     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
13556     HRESULT height([retval, out] LONG *p);
13557
13558     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13559     HRESULT updateInterval([in] LONG v);
13560
13561     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13562     HRESULT updateInterval([retval, out] LONG *p);
13563
13564     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
13565     HRESULT availHeight([retval, out] LONG *p);
13566
13567     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
13568     HRESULT availWidth([retval, out] LONG *p);
13569
13570     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
13571     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
13572 }
13573
13574 /*****************************************************************************
13575  *    IHTMLWindow2 interface
13576  */
13577 [
13578     odl,
13579     oleautomation,
13580     dual,
13581     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
13582 ]
13583 interface IHTMLWindow2 : IHTMLFramesCollection2
13584 {
13585     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13586     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
13587
13588     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13589     HRESULT defaultStatus([in] BSTR v);
13590
13591     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13592     HRESULT defaultStatus([retval, out] BSTR *p);
13593
13594     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13595     HRESULT status([in] BSTR v);
13596
13597     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13598     HRESULT status([retval, out] BSTR *p);
13599
13600     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
13601     HRESULT setTimeout(
13602         [in] BSTR expression,
13603         [in] LONG msec,
13604         [optional, in] VARIANT *language,
13605         [retval, out] LONG *timerID);
13606
13607     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13608     HRESULT clearTimeout([in] LONG timerID);
13609
13610     [id(DISPID_IHTMLWINDOW2_ALERT)]
13611     HRESULT alert([defaultvalue(""), in] BSTR message);
13612
13613     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13614     HRESULT confirm(
13615         [defaultvalue(""), in] BSTR message,
13616         [retval, out] VARIANT_BOOL *confirmed);
13617
13618     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13619     HRESULT prompt(
13620         [defaultvalue(""), in] BSTR message,
13621         [defaultvalue("undefined"), in] BSTR defstr,
13622         [retval, out] VARIANT *textdata);
13623
13624     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13625     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
13626
13627     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13628     HRESULT location([retval, out] IHTMLLocation **p);
13629
13630     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13631     HRESULT history([retval, out] IOmHistory **p);
13632
13633     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13634     HRESULT close();
13635
13636     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13637     HRESULT opener([in] VARIANT v);
13638
13639     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13640     HRESULT opener([retval, out] VARIANT *p);
13641
13642     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13643     HRESULT navigator([retval, out] IOmNavigator **p);
13644
13645     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13646     HRESULT name([in] BSTR v);
13647
13648     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13649     HRESULT name([retval, out] BSTR *p);
13650
13651     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13652     HRESULT parent([retval, out] IHTMLWindow2 **p);
13653
13654     [id(DISPID_IHTMLWINDOW2_OPEN)]
13655     HRESULT open(
13656         [defaultvalue(""), in] BSTR url,
13657         [defaultvalue(""), in] BSTR name,
13658         [defaultvalue(""), in] BSTR features,
13659         [defaultvalue(0), in] VARIANT_BOOL replace,
13660         [retval, out] IHTMLWindow2 **pomWindowResult);
13661
13662     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13663     HRESULT self([retval, out] IHTMLWindow2 **p);
13664
13665     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13666     HRESULT top([retval, out] IHTMLWindow2 **p);
13667
13668     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13669     HRESULT window([retval, out] IHTMLWindow2 **p);
13670
13671     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
13672     HRESULT navigate([in] BSTR url);
13673
13674     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13675     HRESULT onfocus([in] VARIANT v);
13676
13677     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
13678     HRESULT onfocus([retval, out] VARIANT *p);
13679
13680     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13681     HRESULT onblur([in] VARIANT v);
13682
13683     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
13684     HRESULT onblur([retval, out] VARIANT *p);
13685
13686     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13687     HRESULT onload([in] VARIANT v);
13688
13689     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
13690     HRESULT onload([retval, out] VARIANT *p);
13691
13692     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13693     HRESULT onbeforeunload([in] VARIANT v);
13694
13695     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
13696     HRESULT onbeforeunload([retval, out] VARIANT *p);
13697
13698     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13699     HRESULT onunload([in] VARIANT v);
13700
13701     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
13702     HRESULT onunload([retval, out] VARIANT *p);
13703
13704     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
13705     HRESULT onhelp([in] VARIANT v);
13706
13707     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
13708     HRESULT onhelp([retval, out] VARIANT *p);
13709
13710     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
13711     HRESULT onerror([in] VARIANT v);
13712
13713     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
13714     HRESULT onerror([retval, out] VARIANT *p);
13715
13716     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13717     HRESULT onresize([in] VARIANT v);
13718
13719     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
13720     HRESULT onresize([retval, out] VARIANT *p);
13721
13722     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13723     HRESULT onscroll([in] VARIANT v);
13724
13725     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
13726     HRESULT onscroll([retval, out] VARIANT *p);
13727
13728     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
13729     HRESULT document([retval, out] IHTMLDocument2 **p);
13730
13731     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
13732     HRESULT event([retval, out] IHTMLEventObj **p);
13733
13734     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
13735     HRESULT _newEnum([retval, out] IUnknown **p);
13736
13737     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
13738     HRESULT showModalDialog(
13739         [in] BSTR dialog,
13740         [optional, in] VARIANT *varArgIn,
13741         [optional, in] VARIANT *varOptions,
13742         [retval, out] VARIANT *varArgOut);
13743
13744     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
13745     HRESULT showHelp(
13746         [in] BSTR helpURL,
13747         [optional, in] VARIANT helpArg,
13748         [defaultvalue(""), in] BSTR features);
13749
13750     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
13751     HRESULT screen([retval, out] IHTMLScreen **p);
13752
13753     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
13754     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
13755
13756     [id(DISPID_IHTMLWINDOW2_FOCUS)]
13757     HRESULT focus();
13758
13759     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
13760     HRESULT closed([retval, out] VARIANT_BOOL *p);
13761
13762     [id(DISPID_IHTMLWINDOW2_BLUR)]
13763     HRESULT blur();
13764
13765     [id(DISPID_IHTMLWINDOW2_SCROLL)]
13766     HRESULT scroll([in] LONG x, [in] LONG y);
13767
13768     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
13769     HRESULT clientInformation([retval, out] IOmNavigator **p);
13770
13771     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
13772     HRESULT setInterval([
13773         in] BSTR expression,
13774         [in] LONG msec,
13775         [optional, in] VARIANT *language,
13776         [retval, out] LONG *timerID);
13777
13778     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
13779     HRESULT clearInterval([in] LONG timerID);
13780
13781     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13782     HRESULT offscreenBuffering([in] VARIANT v);
13783
13784     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
13785     HRESULT offscreenBuffering([retval, out] VARIANT *p);
13786
13787     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
13788     HRESULT execScript(
13789         [in] BSTR scode,
13790         [defaultvalue("JScript"), in] BSTR language,
13791         [retval, out] VARIANT *pvarRet);
13792
13793     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
13794     HRESULT toString([retval, out] BSTR *String);
13795
13796     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
13797     HRESULT scrollBy([in] LONG x, [in] LONG y);
13798
13799     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
13800     HRESULT scrollTo([in] LONG x, [in] LONG y);
13801
13802     [id(DISPID_IHTMLWINDOW2_MOVETO)]
13803     HRESULT moveTo([in] LONG x, [in] LONG y);
13804
13805     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
13806     HRESULT moveBy([in] LONG x, [in] LONG y);
13807
13808     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
13809     HRESULT resizeTo([in] LONG x, [in] LONG y);
13810
13811     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
13812     HRESULT resizeBy([in] LONG x, [in] LONG y);
13813
13814     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
13815     HRESULT external([retval, out] IDispatch **p);
13816 }
13817
13818 /*****************************************************************************
13819  *    IHTMLWindow3 interface
13820  */
13821 [
13822     odl,
13823     oleautomation,
13824     dual,
13825     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
13826 ]
13827 interface IHTMLWindow3 : IDispatch
13828 {
13829     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
13830     HRESULT screenLeft([out, retval] LONG *p);
13831
13832     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
13833     HRESULT screenTop([out, retval] LONG *p);
13834
13835     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
13836     HRESULT attachEvent(
13837             [in] BSTR event,
13838             [in] IDispatch *pDisp,
13839             [out, retval] VARIANT_BOOL *pfResult);
13840
13841     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
13842     HRESULT detachEvent(
13843             [in] BSTR event,
13844             [in] IDispatch *pDisp);
13845
13846     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
13847     HRESULT setTimeout(
13848             [in] VARIANT *expression,
13849             [in] LONG msec,
13850             [in, optional] VARIANT *language,
13851             [out, retval] LONG *timerID);
13852
13853     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
13854     HRESULT setInterval(
13855             [in] VARIANT *expression,
13856             [in] LONG msec,
13857             [in, optional] VARIANT *language,
13858             [out, retval] LONG *timerID);
13859
13860     [id(DISPID_IHTMLWINDOW3_PRINT)]
13861     HRESULT print();
13862
13863     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13864     HRESULT onbeforeprint([in] VARIANT v);
13865
13866     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
13867     HRESULT onbeforeprint([out, retval] VARIANT *p);
13868
13869     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13870     HRESULT onafterprint([in] VARIANT v);
13871
13872     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
13873     HRESULT onafterprint([out, retval] VARIANT *p);
13874
13875     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
13876     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
13877
13878     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
13879     HRESULT showModelessDialog(
13880             [in, defaultvalue("")] BSTR url,
13881             [in, optional] VARIANT *varArgIn,
13882             [in, optional] VARIANT *options,
13883             [out, retval] IHTMLWindow2 **pDialog);
13884 }
13885
13886 /*****************************************************************************
13887  *    IHTMLWindow4 interface
13888  */
13889 [
13890     odl,
13891     oleautomation,
13892     dual,
13893     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
13894 ]
13895 interface IHTMLWindow4 : IDispatch
13896 {
13897     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
13898     HRESULT createPopup([optional, in] VARIANT* varArgIn,
13899                         [retval, out] IDispatch** ppPopup);
13900
13901     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
13902     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
13903 };
13904
13905 /*****************************************************************************
13906  *    IHTMLWindow5 interface
13907  */
13908 [
13909     odl,
13910     oleautomation,
13911     dual,
13912     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
13913 ]
13914 interface IHTMLWindow5 : IDispatch
13915 {
13916     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
13917     HRESULT XMLHttpRequest([in] VARIANT v);
13918
13919     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
13920     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
13921 };
13922
13923 /*****************************************************************************
13924  *    DispHTMLWindow2 dispinterface
13925  */
13926 [
13927     hidden,
13928     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
13929 ]
13930 dispinterface DispHTMLWindow2
13931 {
13932 properties:
13933 methods:
13934     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13935     VARIANT item([in] VARIANT *pvarIndex);
13936
13937     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13938     LONG length();
13939
13940     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13941     IHTMLFramesCollection2 *frames();
13942
13943     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13944     void defaultStatus(BSTR v);
13945
13946     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13947     BSTR defaultStatus();
13948
13949     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13950     void status(BSTR v);
13951
13952     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13953     BSTR status();
13954
13955     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13956     void clearTimeout([in] LONG timerID);
13957
13958     [id(DISPID_IHTMLWINDOW2_ALERT)]
13959     void alert([in, defaultvalue("")] BSTR message);
13960
13961     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13962     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
13963
13964     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13965     VARIANT prompt(
13966             [in, defaultvalue("")] BSTR message,
13967             [in, defaultvalue("undefined")] BSTR defstr);
13968
13969     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13970     IHTMLImageElementFactory *Image();
13971
13972     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13973     IHTMLLocation *location();
13974
13975     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13976     IOmHistory *history();
13977
13978     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13979     void close();
13980
13981     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13982     void opener(VARIANT v);
13983
13984     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13985     VARIANT opener();
13986
13987     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13988     IOmNavigator *navigator();
13989
13990     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13991     void name(BSTR v);
13992
13993     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13994     BSTR name();
13995
13996     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13997     IHTMLWindow2 *parent();
13998
13999     [id(DISPID_IHTMLWINDOW2_OPEN)]
14000     IHTMLWindow2 *open(
14001             [in, defaultvalue("")] BSTR url,
14002             [in, defaultvalue("")] BSTR name,
14003             [in, defaultvalue("")] BSTR features,
14004             [in, defaultvalue(0)]  VARIANT_BOOL replace);
14005
14006     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
14007     IHTMLWindow2 *self();
14008
14009     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
14010     IHTMLWindow2 *top();
14011
14012     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
14013     IHTMLWindow2 *window();
14014
14015     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
14016     void navigate([in] BSTR url);
14017
14018     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14019     void onfocus(VARIANT v);
14020
14021     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14022     VARIANT onfocus();
14023
14024     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14025     void onblur(VARIANT v);
14026
14027     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14028     VARIANT onblur();
14029
14030     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
14031     VARIANT onload();
14032
14033     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14034     void onbeforeunload(VARIANT v);
14035
14036     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14037     VARIANT onbeforeunload();
14038
14039     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14040     void onunload(VARIANT v);
14041
14042     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14043     VARIANT onunload();
14044
14045     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14046     void onhelp(VARIANT v);
14047
14048     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14049     VARIANT onhelp();
14050
14051     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14052     void onerror(VARIANT v);
14053
14054     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14055     VARIANT onerror();
14056
14057     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14058     void onresize(VARIANT v);
14059
14060     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14061     VARIANT onresize();
14062
14063     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14064     void onscroll(VARIANT v);
14065
14066     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14067     VARIANT onscroll();
14068
14069     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
14070     IHTMLDocument2 *document();
14071
14072     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
14073     IHTMLEventObj *event();
14074
14075     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
14076     IUnknown *_newEnum();
14077
14078     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
14079     VARIANT showModalDialog(
14080             [in] BSTR dialog,
14081             [in, optional] VARIANT *varArgIn,
14082             [in, optional] VARIANT *varOptions);
14083
14084     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
14085     void showHelp(
14086             [in] BSTR helpURL,
14087             [in, optional] VARIANT helpArg,
14088             [in, defaultvalue("")] BSTR features);
14089
14090     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
14091     IHTMLScreen *screen();
14092
14093     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
14094     IHTMLOptionElementFactory *Option();
14095
14096     [id(DISPID_IHTMLWINDOW2_FOCUS)]
14097     void focus();
14098
14099     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
14100     VARIANT_BOOL closed();
14101
14102     [id(DISPID_IHTMLWINDOW2_BLUR)]
14103     void blur();
14104
14105     [id(DISPID_IHTMLWINDOW2_SCROLL)]
14106     void scroll([in] LONG x, [in] LONG y);
14107
14108     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
14109     IOmNavigator *clientInformation();
14110
14111     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
14112     void clearInterval([in] LONG timerID);
14113
14114     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14115     void offscreenBuffering(VARIANT v);
14116
14117     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14118     VARIANT offscreenBuffering();
14119
14120     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
14121     VARIANT execScript(
14122             [in] BSTR _code,
14123             [in, defaultvalue("JScript")] BSTR language);
14124
14125     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
14126     BSTR toString();
14127
14128     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
14129     void scrollBy([in] LONG x, [in] LONG y);
14130
14131     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
14132     void scrollTo([in] LONG x, [in] LONG y);
14133
14134     [id(DISPID_IHTMLWINDOW2_MOVETO)]
14135     void moveTo([in] LONG x, [in] LONG y);
14136
14137     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
14138     void moveBy([in] LONG x, [in] LONG y);
14139
14140     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
14141     void resizeTo([in] LONG x, [in] LONG y);
14142
14143     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
14144     void resizeBy([in] LONG x, [in] LONG y);
14145
14146     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
14147     IDispatch *external();
14148
14149     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
14150     LONG screenLeft();
14151
14152     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
14153     LONG screenTop();
14154
14155     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
14156     VARIANT_BOOL attachEvent(
14157              [in] BSTR event,
14158              [in] IDispatch *pDisp);
14159
14160     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
14161     void detachEvent(
14162             [in] BSTR event,
14163             [in] IDispatch *pDisp);
14164
14165     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
14166     LONG setTimeout(
14167             [in] VARIANT *expression,
14168             [in] LONG msec,
14169             [in, optional] VARIANT *language);
14170
14171     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
14172     LONG setInterval(
14173             [in] VARIANT *expression,
14174             [in] LONG msec,
14175             [in, optional] VARIANT *language);
14176
14177     [id(DISPID_IHTMLWINDOW3_PRINT)]
14178     void print();
14179
14180     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14181     void onbeforeprint(VARIANT v);
14182
14183     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14184     VARIANT onbeforeprint();
14185
14186     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14187     void onafterprint(VARIANT v);
14188
14189     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14190     VARIANT onafterprint();
14191
14192     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
14193     IHTMLDataTransfer *clipboardData();
14194
14195     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
14196     IHTMLWindow2 *showModelessDialog(
14197             [in, defaultvalue("")] BSTR url,
14198             [in, optional] VARIANT *varArgIn,
14199             [in, optional] VARIANT *options);
14200
14201     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
14202     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
14203
14204     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
14205     IHTMLFrameBase *frameElement();
14206 }
14207
14208 /*****************************************************************************
14209  *    DispHTMLWindowProxy dispinterface
14210  */
14211 [
14212     hidden,
14213     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
14214 ]
14215 dispinterface DispHTMLWindowProxy
14216 {
14217 properties:
14218 methods:
14219     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
14220     VARIANT item([in] VARIANT* pvarIndex);
14221
14222     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
14223     LONG length();
14224
14225     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
14226     IHTMLFramesCollection2* frames();
14227
14228     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
14229     void defaultStatus(BSTR v);
14230
14231     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
14232     BSTR defaultStatus();
14233
14234     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
14235     void status(BSTR v);
14236
14237     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
14238     BSTR status();
14239
14240     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
14241     void clearTimeout([in] LONG timerID);
14242
14243     [id(DISPID_IHTMLWINDOW2_ALERT)]
14244     void alert([defaultvalue(""), in] BSTR message);
14245
14246     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
14247     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
14248
14249     [id(DISPID_IHTMLWINDOW2_PROMPT)]
14250     VARIANT prompt([defaultvalue(""), in] BSTR message,
14251                    [defaultvalue("undefined"), in] BSTR defstr);
14252
14253     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
14254     IHTMLImageElementFactory* Image();
14255
14256     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
14257     IHTMLLocation* location();
14258
14259     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
14260     IOmHistory* history();
14261
14262     [id(DISPID_IHTMLWINDOW2_CLOSE)]
14263     void close();
14264
14265     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
14266     void opener(VARIANT v);
14267
14268     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
14269     VARIANT opener();
14270
14271     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
14272     IOmNavigator* navigator();
14273
14274     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
14275     void name(BSTR v);
14276
14277     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
14278     BSTR name();
14279
14280     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
14281     IHTMLWindow2* parent();
14282
14283     [id(DISPID_IHTMLWINDOW2_OPEN)]
14284     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
14285                        [defaultvalue(""), in] BSTR name,
14286                        [defaultvalue(""), in] BSTR features,
14287                        [defaultvalue(0), in] VARIANT_BOOL replace);
14288
14289     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
14290     IHTMLWindow2* self();
14291
14292     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
14293     IHTMLWindow2* top();
14294
14295     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
14296     IHTMLWindow2* window();
14297
14298     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
14299     void navigate([in] BSTR url);
14300
14301     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14302     void onfocus(VARIANT v);
14303
14304     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14305     VARIANT onfocus();
14306
14307     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14308     void onblur(VARIANT v);
14309
14310     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14311     VARIANT onblur();
14312
14313     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
14314     void onload(VARIANT v);
14315
14316     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
14317     VARIANT onload();
14318
14319     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14320     void onbeforeunload(VARIANT v);
14321
14322     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14323     VARIANT onbeforeunload();
14324
14325     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14326     void onunload(VARIANT v);
14327
14328     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14329     VARIANT onunload();
14330
14331     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14332     void onhelp(VARIANT v);
14333
14334     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14335     VARIANT onhelp();
14336
14337     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14338     void onerror(VARIANT v);
14339
14340     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14341     VARIANT onerror();
14342
14343     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14344     void onresize(VARIANT v);
14345
14346     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14347     VARIANT onresize();
14348
14349     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14350     void onscroll(VARIANT v);
14351
14352     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14353     VARIANT onscroll();
14354
14355     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
14356     IHTMLDocument2* document();
14357
14358     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
14359     IHTMLEventObj* event();
14360
14361     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
14362     IUnknown* _newEnum();
14363
14364     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
14365     VARIANT showModalDialog([in] BSTR dialog,
14366                             [optional, in] VARIANT* varArgIn,
14367                             [optional, in] VARIANT* varOptions);
14368
14369     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
14370     void showHelp([in] BSTR helpURL,
14371                   [optional, in] VARIANT helpArg,
14372                   [defaultvalue(""), in] BSTR features);
14373
14374     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
14375     IHTMLScreen* screen();
14376
14377     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
14378     IHTMLOptionElementFactory* Option();
14379
14380     [id(DISPID_IHTMLWINDOW2_FOCUS)]
14381     void focus();
14382
14383     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
14384     VARIANT_BOOL closed();
14385
14386     [id(DISPID_IHTMLWINDOW2_BLUR)]
14387     void blur();
14388
14389     [id(DISPID_IHTMLWINDOW2_SCROLL)]
14390     void scroll([in] LONG x,
14391                 [in] LONG y);
14392
14393     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
14394     IOmNavigator* clientInformation();
14395
14396     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
14397     void clearInterval([in] LONG timerID);
14398
14399     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14400     void offscreenBuffering(VARIANT v);
14401
14402     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14403     VARIANT offscreenBuffering();
14404
14405     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
14406     VARIANT execScript([in] BSTR code,
14407                        [defaultvalue("JScript"), in] BSTR language);
14408
14409     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
14410     BSTR toString();
14411
14412     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
14413     void scrollBy([in] LONG x,
14414                   [in] LONG y);
14415
14416     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
14417     void scrollTo([in] LONG x,
14418                   [in] LONG y);
14419
14420     [id(DISPID_IHTMLWINDOW2_MOVETO)]
14421     void moveTo([in] LONG x,
14422                 [in] LONG y);
14423
14424     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
14425     void moveBy([in] LONG x,
14426                 [in] LONG y);
14427
14428     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
14429     void resizeTo([in] LONG x,
14430                   [in] LONG y);
14431
14432     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
14433     void resizeBy([in] LONG x,
14434                   [in] LONG y);
14435
14436     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
14437     IDispatch* external();
14438
14439     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
14440     LONG screenLeft();
14441
14442     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
14443     LONG screenTop();
14444
14445     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
14446     VARIANT_BOOL attachEvent([in] BSTR event,
14447                              [in] IDispatch* pDisp);
14448
14449     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
14450     void detachEvent([in] BSTR event,
14451                      [in] IDispatch* pDisp);
14452
14453     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
14454     LONG setTimeout([in] VARIANT* expression,
14455                     [in] LONG msec,
14456                     [optional, in] VARIANT* language);
14457
14458     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
14459     LONG setInterval([in] VARIANT* expression,
14460                      [in] LONG msec,
14461                      [optional, in] VARIANT* language);
14462
14463     [id(DISPID_IHTMLWINDOW3_PRINT)]
14464     void print();
14465
14466     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14467     void onbeforeprint(VARIANT v);
14468
14469     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14470     VARIANT onbeforeprint();
14471
14472     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14473     void onafterprint(VARIANT v);
14474
14475     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14476     VARIANT onafterprint();
14477
14478     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
14479     IHTMLDataTransfer* clipboardData();
14480
14481     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
14482     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
14483                                      [optional, in] VARIANT* varArgIn,
14484                                      [optional, in] VARIANT* options);
14485
14486     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
14487     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
14488
14489     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
14490     IHTMLFrameBase* frameElement();
14491
14492     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
14493     void XMLHttpRequest(VARIANT v);
14494
14495     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
14496     VARIANT XMLHttpRequest();
14497 };
14498
14499 /*****************************************************************************
14500  *    HTMLDocumentEvents2 interface
14501  */
14502 [
14503     hidden,
14504     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
14505 ]
14506 dispinterface HTMLDocumentEvents2
14507 {
14508     properties:
14509     methods:
14510     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
14511     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
14512
14513     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
14514     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
14515
14516     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
14517     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
14518
14519     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
14520     void onkeydown([in] IHTMLEventObj *pEvtObj);
14521
14522     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
14523     void onkeyup([in] IHTMLEventObj *pEvtObj);
14524
14525     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
14526     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
14527
14528     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
14529     void onmousedown([in] IHTMLEventObj *pEvtObj);
14530
14531     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
14532     void onmousemove([in] IHTMLEventObj *pEvtObj);
14533
14534     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
14535     void onmouseup([in] IHTMLEventObj *pEvtObj);
14536
14537     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
14538     void onmouseout([in] IHTMLEventObj *pEvtObj);
14539
14540     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
14541     void onmouseover([in] IHTMLEventObj *pEvtObj);
14542
14543     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
14544     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
14545
14546     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
14547     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
14548
14549     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
14550     void onafterupdate([in] IHTMLEventObj *pEvtObj);
14551
14552     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
14553     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
14554
14555     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
14556     void onrowenter([in] IHTMLEventObj *pEvtObj);
14557
14558     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
14559     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
14560
14561     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
14562     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
14563
14564     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
14565     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
14566
14567     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
14568     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
14569
14570     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
14571     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
14572
14573     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
14574     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
14575
14576     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
14577     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
14578
14579     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
14580     void oncellchange([in] IHTMLEventObj *pEvtObj);
14581
14582     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
14583     void onpropertychange([in] IHTMLEventObj *pEvtObj);
14584
14585     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
14586     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
14587
14588     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
14589     void ondataavailable([in] IHTMLEventObj *pEvtObj);
14590
14591     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
14592     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
14593
14594     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
14595     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
14596
14597     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
14598     void onselectionchange([in] IHTMLEventObj *pEvtObj);
14599
14600     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
14601     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
14602
14603     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
14604     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
14605
14606     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
14607     void onfocusin([in] IHTMLEventObj *pEvtObj);
14608
14609     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
14610     void onfocusout([in] IHTMLEventObj *pEvtObj);
14611
14612     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
14613     void onactivate([in] IHTMLEventObj *pEvtObj);
14614
14615     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
14616     void ondeactivate([in] IHTMLEventObj *pEvtObj);
14617
14618     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
14619     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
14620
14621     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
14622     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
14623 }
14624
14625 /*****************************************************************************
14626  *    HTMLDocumentEvents interface
14627  */
14628 [
14629     hidden,
14630     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
14631 ]
14632 dispinterface HTMLDocumentEvents
14633 {
14634     properties:
14635     methods:
14636     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
14637     VARIANT_BOOL onhelp();
14638
14639     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
14640     VARIANT_BOOL onclick();
14641
14642     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
14643     VARIANT_BOOL ondblclick();
14644
14645     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
14646     void onkeydown();
14647
14648     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
14649     void onkeyup();
14650
14651     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
14652     VARIANT_BOOL onkeypress();
14653
14654     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
14655     void onmousedown();
14656
14657     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
14658     void onmousemove();
14659
14660     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
14661     void onmouseup();
14662
14663     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
14664     void onmouseout();
14665
14666     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
14667     void onmouseover();
14668
14669     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
14670     void onreadystatechange();
14671
14672     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
14673     VARIANT_BOOL onbeforeupdate();
14674
14675     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
14676     void onafterupdate();
14677
14678     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
14679     VARIANT_BOOL onrowexit();
14680
14681     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
14682     void onrowenter();
14683
14684     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
14685     VARIANT_BOOL ondragstart();
14686
14687     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
14688     VARIANT_BOOL onselectstart();
14689
14690     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
14691     VARIANT_BOOL onerrorupdate();
14692
14693     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
14694     VARIANT_BOOL oncontextmenu();
14695
14696     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
14697     VARIANT_BOOL onstop();
14698
14699     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
14700     void onrowsdelete();
14701
14702     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
14703     void onrowsinserted();
14704
14705     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
14706     void oncellchange();
14707
14708     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
14709     void onpropertychange();
14710
14711     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
14712     void ondatasetchanged();
14713
14714     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
14715     void ondataavailable();
14716
14717     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
14718     void ondatasetcomplete();
14719
14720     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
14721     void onbeforeeditfocus();
14722
14723     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
14724     void onselectionchange();
14725
14726     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
14727     VARIANT_BOOL oncontrolselect();
14728
14729     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
14730     VARIANT_BOOL onmousewheel();
14731
14732     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
14733     void onfocusin();
14734
14735     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
14736     void onfocusout();
14737
14738     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
14739     void onactivate();
14740
14741     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
14742     void ondeactivate();
14743
14744     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
14745     VARIANT_BOOL onbeforeactivate();
14746
14747     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
14748     VARIANT_BOOL onbeforedeactivate();
14749 }
14750
14751 /*****************************************************************************
14752  *    HTMLTextContainerEvents interface
14753  */
14754 [
14755     hidden,
14756     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
14757 ]
14758 dispinterface HTMLTextContainerEvents
14759 {
14760 properties:
14761
14762 methods:
14763     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14764     VARIANT_BOOL onhelp();
14765
14766     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14767     VARIANT_BOOL onclick();
14768
14769     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14770     VARIANT_BOOL ondblclick();
14771
14772     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14773     VARIANT_BOOL onkeypress();
14774
14775     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14776     void onkeydown();
14777
14778     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14779     void onkeyup();
14780
14781     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14782     void onmouseout();
14783
14784     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14785     void onmouseover();
14786
14787     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14788     void onmousemove();
14789
14790     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14791     void onmousedown();
14792
14793     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14794     void onmouseup();
14795
14796     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14797     VARIANT_BOOL onselectstart();
14798
14799     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14800     void onfilterchange();
14801
14802     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14803     VARIANT_BOOL ondragstart();
14804
14805     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14806     VARIANT_BOOL onbeforeupdate();
14807
14808     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14809     void onafterupdate();
14810
14811     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14812     VARIANT_BOOL onerrorupdate();
14813
14814     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14815     VARIANT_BOOL onrowexit();
14816
14817     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14818     void onrowenter();
14819
14820     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14821     void ondatasetchanged();
14822
14823     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14824     void ondataavailable();
14825
14826     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14827     void ondatasetcomplete();
14828
14829     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14830     void onlosecapture();
14831
14832     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14833     void onpropertychange();
14834
14835     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14836     void onscroll();
14837
14838     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14839     void onfocus();
14840
14841     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14842     void onblur();
14843
14844     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14845     void onresize();
14846
14847     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14848     VARIANT_BOOL ondrag();
14849
14850     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14851     void ondragend();
14852
14853     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14854     VARIANT_BOOL ondragenter();
14855
14856     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14857     VARIANT_BOOL ondragover();
14858
14859     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14860     void ondragleave();
14861
14862     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14863     VARIANT_BOOL ondrop();
14864
14865     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14866     VARIANT_BOOL onbeforecut();
14867
14868     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14869     VARIANT_BOOL oncut();
14870
14871     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14872     VARIANT_BOOL onbeforecopy();
14873
14874     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14875     VARIANT_BOOL oncopy();
14876
14877     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14878     VARIANT_BOOL onbeforepaste();
14879
14880     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14881     VARIANT_BOOL onpaste();
14882
14883     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14884     VARIANT_BOOL oncontextmenu();
14885
14886     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14887     void onrowsdelete();
14888
14889     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14890     void onrowsinserted();
14891
14892     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14893     void oncellchange();
14894
14895     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14896     void onreadystatechange();
14897
14898     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14899     void onbeforeeditfocus();
14900
14901     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14902     void onlayoutcomplete();
14903
14904     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14905     void onpage();
14906
14907     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14908     VARIANT_BOOL onbeforedeactivate();
14909
14910     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14911     VARIANT_BOOL onbeforeactivate();
14912
14913     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14914     void onmove();
14915
14916     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14917     VARIANT_BOOL oncontrolselect();
14918
14919     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14920     VARIANT_BOOL onmovestart();
14921
14922     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14923     void onmoveend();
14924
14925     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14926     VARIANT_BOOL onresizestart();
14927
14928     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14929     void onresizeend();
14930
14931     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14932     void onmouseenter();
14933
14934     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14935     void onmouseleave();
14936
14937     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14938     VARIANT_BOOL onmousewheel();
14939
14940     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14941     void onactivate();
14942
14943     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14944     void ondeactivate();
14945
14946     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14947     void onfocusin();
14948
14949     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14950     void onfocusout();
14951
14952     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
14953     void onchange();
14954
14955     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
14956     void onselect();
14957 };
14958
14959 /*****************************************************************************
14960  *    HTMLTextContainerEvents2 interface
14961  */
14962 [
14963     hidden,
14964     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
14965 ]
14966 dispinterface HTMLTextContainerEvents2
14967 {
14968 properties:
14969 methods:
14970     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
14971     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14972
14973     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
14974     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
14975
14976     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
14977     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
14978
14979     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
14980     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
14981
14982     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
14983     void onkeydown([in] IHTMLEventObj* pEvtObj);
14984
14985     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
14986     void onkeyup([in] IHTMLEventObj* pEvtObj);
14987
14988     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
14989     void onmouseout([in] IHTMLEventObj* pEvtObj);
14990
14991     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
14992     void onmouseover([in] IHTMLEventObj* pEvtObj);
14993
14994     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
14995     void onmousemove([in] IHTMLEventObj* pEvtObj);
14996
14997     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
14998     void onmousedown([in] IHTMLEventObj* pEvtObj);
14999
15000     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
15001     void onmouseup([in] IHTMLEventObj* pEvtObj);
15002
15003     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
15004     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
15005
15006     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
15007     void onfilterchange([in] IHTMLEventObj* pEvtObj);
15008
15009     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
15010     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
15011
15012     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
15013     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
15014
15015     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
15016     void onafterupdate([in] IHTMLEventObj* pEvtObj);
15017
15018     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
15019     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
15020
15021     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
15022     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
15023
15024     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
15025     void onrowenter([in] IHTMLEventObj* pEvtObj);
15026
15027     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
15028     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
15029
15030     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
15031     void ondataavailable([in] IHTMLEventObj* pEvtObj);
15032
15033     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
15034     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
15035
15036     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
15037     void onlosecapture([in] IHTMLEventObj* pEvtObj);
15038
15039     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
15040     void onpropertychange([in] IHTMLEventObj* pEvtObj);
15041
15042     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
15043     void onscroll([in] IHTMLEventObj* pEvtObj);
15044
15045     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
15046     void onfocus([in] IHTMLEventObj* pEvtObj);
15047
15048     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
15049     void onblur([in] IHTMLEventObj* pEvtObj);
15050
15051     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
15052     void onresize([in] IHTMLEventObj* pEvtObj);
15053
15054     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
15055     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
15056
15057     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
15058     void ondragend([in] IHTMLEventObj* pEvtObj);
15059
15060     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
15061     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
15062
15063     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
15064     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
15065
15066     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
15067     void ondragleave([in] IHTMLEventObj* pEvtObj);
15068
15069     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
15070     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
15071
15072     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
15073     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
15074
15075     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
15076     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
15077
15078     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
15079     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
15080
15081     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
15082     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
15083
15084     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
15085     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
15086
15087     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
15088     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
15089
15090     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
15091     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
15092
15093     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
15094     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
15095
15096     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
15097     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
15098
15099     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
15100     void oncellchange([in] IHTMLEventObj* pEvtObj);
15101
15102     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
15103     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
15104
15105     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
15106     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
15107
15108     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
15109     void onpage([in] IHTMLEventObj* pEvtObj);
15110
15111     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
15112     void onmouseenter([in] IHTMLEventObj* pEvtObj);
15113
15114     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
15115     void onmouseleave([in] IHTMLEventObj* pEvtObj);
15116
15117     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
15118     void onactivate([in] IHTMLEventObj* pEvtObj);
15119
15120     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
15121     void ondeactivate([in] IHTMLEventObj* pEvtObj);
15122
15123     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
15124     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
15125
15126     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
15127     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
15128
15129     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
15130     void onfocusin([in] IHTMLEventObj* pEvtObj);
15131
15132     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
15133     void onfocusout([in] IHTMLEventObj* pEvtObj);
15134
15135     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
15136     void onmove([in] IHTMLEventObj* pEvtObj);
15137
15138     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
15139     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
15140
15141     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
15142     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
15143
15144     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
15145     void onmoveend([in] IHTMLEventObj* pEvtObj);
15146
15147     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
15148     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
15149
15150     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
15151     void onresizeend([in] IHTMLEventObj* pEvtObj);
15152
15153     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
15154     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
15155
15156     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
15157     void onchange([in] IHTMLEventObj* pEvtObj);
15158
15159     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
15160     void onselect([in] IHTMLEventObj* pEvtObj);
15161 };
15162
15163 /*****************************************************************************
15164  *    IHTMLDocument interface
15165  */
15166 [
15167     odl,
15168     oleautomation,
15169     dual,
15170     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
15171 ]
15172 interface IHTMLDocument : IDispatch
15173 {
15174     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
15175     HRESULT Script([retval, out] IDispatch **p);
15176 }
15177
15178 /*****************************************************************************
15179  *    IHTMLDocument2 interface
15180  */
15181 [
15182     odl,
15183     oleautomation,
15184     dual,
15185     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
15186 ]
15187 interface IHTMLDocument2 : IHTMLDocument
15188 {
15189     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
15190     HRESULT all([retval, out] IHTMLElementCollection **p);
15191
15192     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
15193     HRESULT body([retval, out] IHTMLElement **p);
15194
15195     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
15196     HRESULT activeElement([retval, out] IHTMLElement **p);
15197
15198     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
15199     HRESULT images([retval, out] IHTMLElementCollection **p);
15200
15201     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
15202     HRESULT applets([retval, out] IHTMLElementCollection **p);
15203
15204     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
15205     HRESULT links([retval, out] IHTMLElementCollection **p);
15206
15207     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
15208     HRESULT forms([retval, out] IHTMLElementCollection **p);
15209
15210     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
15211     HRESULT anchors([retval, out] IHTMLElementCollection **p);
15212
15213     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15214     HRESULT title([in] BSTR v);
15215
15216     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15217     HRESULT title([retval, out] BSTR *p);
15218
15219     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
15220     HRESULT scripts([retval, out] IHTMLElementCollection **p);
15221
15222     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
15223     HRESULT designMode([in] BSTR v);
15224
15225     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
15226     HRESULT designMode([retval, out] BSTR *p);
15227
15228     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
15229     HRESULT selection([retval, out] IHTMLSelectionObject **p);
15230
15231     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
15232      HRESULT readyState([retval, out] BSTR *p);
15233
15234     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
15235     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
15236
15237     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
15238     HRESULT embeds([retval, out] IHTMLElementCollection **p);
15239
15240     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
15241     HRESULT plugins([retval, out] IHTMLElementCollection **p);
15242
15243     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15244     HRESULT alinkColor([in] VARIANT v);
15245
15246     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15247     HRESULT alinkColor([retval, out] VARIANT *p);
15248
15249     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15250     HRESULT bgColor([in] VARIANT v);
15251
15252     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15253     HRESULT bgColor([retval, out] VARIANT *p);
15254
15255     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15256     HRESULT fgColor([in] VARIANT v);
15257
15258     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15259     HRESULT fgColor([retval, out] VARIANT *p);
15260
15261     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15262     HRESULT linkColor([in] VARIANT v);
15263
15264     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15265     HRESULT linkColor([retval, out] VARIANT *p);
15266
15267     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15268     HRESULT vlinkColor([in] VARIANT v);
15269
15270     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15271     HRESULT vlinkColor([retval, out] VARIANT *p);
15272
15273     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
15274     HRESULT referrer([retval, out] BSTR *p);
15275
15276     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
15277     HRESULT location([retval, out] IHTMLLocation **p);
15278
15279     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
15280     HRESULT lastModified([retval, out] BSTR *p);
15281
15282     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
15283     HRESULT URL([in] BSTR v);
15284
15285     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
15286     HRESULT URL([retval, out] BSTR *p);
15287
15288     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15289     HRESULT domain([in] BSTR v);
15290
15291     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15292     HRESULT domain([retval, out] BSTR *p);
15293
15294     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15295     HRESULT cookie([in] BSTR v);
15296
15297     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15298     HRESULT cookie([retval, out] BSTR *p);
15299
15300     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
15301     HRESULT expando([in] VARIANT_BOOL v);
15302
15303     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
15304     HRESULT expando([retval, out] VARIANT_BOOL *p);
15305
15306     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
15307      HRESULT charset([in] BSTR v);
15308
15309     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
15310     HRESULT charset([retval, out] BSTR *p);
15311
15312     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15313     HRESULT defaultCharset([in] BSTR v);
15314
15315     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15316     HRESULT defaultCharset([retval, out] BSTR *p);
15317
15318     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
15319     HRESULT mimeType([retval, out] BSTR *p);
15320
15321     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
15322     HRESULT fileSize([retval, out] BSTR *p);
15323
15324     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
15325     HRESULT fileCreatedDate([retval, out] BSTR *p);
15326
15327     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
15328     HRESULT fileModifiedDate([retval, out] BSTR *p);
15329
15330     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
15331     HRESULT fileUpdatedDate([retval, out] BSTR *p);
15332
15333     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
15334     HRESULT security([retval, out] BSTR *p);
15335
15336     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
15337     HRESULT protocol([retval, out] BSTR *p);
15338
15339     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
15340      HRESULT nameProp([retval, out] BSTR *p);
15341
15342     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
15343     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
15344
15345     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
15346     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
15347
15348     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
15349     HRESULT open(
15350         [defaultvalue("text/html"), in] BSTR url,
15351         [optional, in] VARIANT name,
15352         [optional, in] VARIANT features,
15353         [optional, in] VARIANT replace,
15354         [retval, out]  IDispatch **pomWindowResult);
15355
15356     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
15357     HRESULT close();
15358
15359     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
15360     HRESULT clear();
15361
15362     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
15363     HRESULT queryCommandSupported(
15364         [in] BSTR cmdID,
15365         [retval, out] VARIANT_BOOL *pfRet);
15366
15367     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
15368     HRESULT queryCommandEnabled(
15369         [in] BSTR cmdID,
15370         [retval, out] VARIANT_BOOL *pfRet);
15371
15372     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
15373     HRESULT queryCommandState(
15374         [in] BSTR cmdID,
15375         [retval, out] VARIANT_BOOL *pfRet);
15376
15377     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
15378     HRESULT queryCommandIndeterm(
15379         [in] BSTR cmdID,
15380         [retval, out] VARIANT_BOOL *pfRet);
15381
15382     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
15383     HRESULT queryCommandText(
15384         [in] BSTR cmdID,
15385         [retval, out] BSTR *pcmdText);
15386
15387     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
15388     HRESULT queryCommandValue(
15389         [in] BSTR cmdID,
15390         [retval, out] VARIANT *pcmdValue);
15391
15392     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
15393     HRESULT execCommand(
15394         [in] BSTR cmdID,
15395         [defaultvalue(0), in] VARIANT_BOOL showUI,
15396         [optional, in] VARIANT value,
15397         [retval, out] VARIANT_BOOL *pfRet);
15398
15399     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
15400     HRESULT execCommandShowHelp(
15401         [in] BSTR cmdID,
15402         [retval, out] VARIANT_BOOL *pfRet);
15403
15404     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
15405      HRESULT createElement(
15406         [in] BSTR eTag,
15407         [retval, out] IHTMLElement **newElem);
15408
15409     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
15410     HRESULT onhelp([in] VARIANT v);
15411
15412     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
15413     HRESULT onhelp([retval, out] VARIANT *p);
15414
15415     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
15416     HRESULT onclick([in] VARIANT v);
15417
15418     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
15419     HRESULT onclick([retval, out] VARIANT *p);
15420
15421     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
15422     HRESULT ondblclick([in] VARIANT v);
15423
15424     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
15425     HRESULT ondblclick([retval, out] VARIANT *p);
15426
15427     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
15428     HRESULT onkeyup([in] VARIANT v);
15429
15430     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
15431     HRESULT onkeyup([retval, out] VARIANT *p);
15432
15433     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
15434     HRESULT onkeydown([in] VARIANT v);
15435
15436     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
15437     HRESULT onkeydown([retval, out] VARIANT *p);
15438
15439     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
15440      HRESULT onkeypress([in] VARIANT v);
15441
15442     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
15443     HRESULT onkeypress([retval, out] VARIANT *p);
15444
15445     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
15446     HRESULT onmouseup([in] VARIANT v);
15447
15448     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
15449     HRESULT onmouseup([retval, out] VARIANT *p);
15450
15451     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
15452     HRESULT onmousedown([in] VARIANT v);
15453
15454     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
15455     HRESULT onmousedown([retval, out] VARIANT *p);
15456
15457     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
15458     HRESULT onmousemove([in] VARIANT v);
15459
15460     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
15461     HRESULT onmousemove([retval, out] VARIANT *p);
15462
15463     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
15464     HRESULT onmouseout([in] VARIANT v);
15465
15466     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
15467     HRESULT onmouseout([retval, out] VARIANT *p);
15468
15469     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
15470     HRESULT onmouseover([in] VARIANT v);
15471
15472     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
15473     HRESULT onmouseover([retval, out] VARIANT *p);
15474
15475     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
15476     HRESULT onreadystatechange([in] VARIANT v);
15477
15478     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
15479     HRESULT onreadystatechange([retval, out] VARIANT *p);
15480
15481     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
15482     HRESULT onafterupdate([in] VARIANT v);
15483
15484     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
15485     HRESULT onafterupdate([retval, out] VARIANT *p);
15486
15487     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
15488     HRESULT onrowexit([in] VARIANT v);
15489
15490     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
15491     HRESULT onrowexit([retval, out] VARIANT *p);
15492
15493     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
15494     HRESULT onrowenter([in] VARIANT v);
15495
15496     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
15497     HRESULT onrowenter([retval, out] VARIANT *p);
15498
15499     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
15500     HRESULT ondragstart([in] VARIANT v);
15501
15502     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
15503     HRESULT ondragstart([retval, out] VARIANT *p);
15504
15505     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
15506     HRESULT onselectstart([in] VARIANT v);
15507
15508     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
15509     HRESULT onselectstart([retval, out] VARIANT *p);
15510
15511     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
15512     HRESULT elementFromPoint(
15513         [in] LONG x,
15514         [in] LONG y,
15515         [retval, out] IHTMLElement **elementHit);
15516
15517     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
15518     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
15519
15520     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
15521     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
15522
15523     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
15524     HRESULT onbeforeupdate([in] VARIANT v);
15525
15526     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
15527     HRESULT onbeforeupdate([retval, out] VARIANT *p);
15528
15529     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
15530     HRESULT onerrorupdate([in] VARIANT v);
15531
15532     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
15533     HRESULT onerrorupdate([retval, out] VARIANT *p);
15534
15535     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
15536     HRESULT toString([retval, out] BSTR *String);
15537
15538     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
15539     HRESULT createStyleSheet(
15540         [defaultvalue(""), in] BSTR bstrHref,
15541         [defaultvalue(-1), in] LONG lIndex,
15542         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
15543 }
15544
15545 /*****************************************************************************
15546  *    IHTMLDocument3 interface
15547  */
15548 [
15549     odl,
15550     oleautomation,
15551     dual,
15552     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
15553 ]
15554 interface IHTMLDocument3 : IDispatch
15555 {
15556     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
15557     HRESULT releaseCapture();
15558
15559     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
15560     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
15561
15562     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
15563     HRESULT createTextNode(
15564         [in] BSTR text,
15565         [retval, out] IHTMLDOMNode **newTextNode);
15566
15567     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
15568     HRESULT documentElement([retval, out] IHTMLElement **p);
15569
15570     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
15571     HRESULT uniqueID([retval, out] BSTR *p);
15572
15573     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
15574     HRESULT attachEvent(
15575         [in] BSTR event,
15576         [in] IDispatch* pDisp,
15577         [retval, out] VARIANT_BOOL *pfResult);
15578
15579     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
15580     HRESULT detachEvent(
15581         [in] BSTR event,
15582         [in] IDispatch *pDisp);
15583
15584     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15585     HRESULT onrowsdelete([in] VARIANT v);
15586
15587     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
15588     HRESULT onrowsdelete([retval, out] VARIANT *p);
15589
15590     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15591     HRESULT onrowsinserted([in] VARIANT v);
15592
15593     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
15594     HRESULT onrowsinserted([retval, out] VARIANT *p);
15595
15596     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15597     HRESULT oncellchange([in] VARIANT v);
15598
15599     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
15600     HRESULT oncellchange([retval, out] VARIANT *p);
15601
15602     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15603     HRESULT ondatasetchanged([in] VARIANT v);
15604
15605     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
15606     HRESULT ondatasetchanged([retval, out] VARIANT *p);
15607
15608     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15609     HRESULT ondataavailable([in] VARIANT v);
15610
15611     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
15612     HRESULT ondataavailable([retval, out] VARIANT * p);
15613
15614     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15615     HRESULT ondatasetcomplete([in] VARIANT v);
15616
15617     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
15618     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
15619
15620     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15621     HRESULT onpropertychange([in] VARIANT v);
15622
15623     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
15624     HRESULT onpropertychange([retval, out] VARIANT *p);
15625
15626     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
15627     HRESULT dir([in] BSTR v);
15628
15629     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
15630     HRESULT dir([retval, out] BSTR *p);
15631
15632     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15633     HRESULT oncontextmenu([in] VARIANT v);
15634
15635     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
15636     HRESULT oncontextmenu([retval, out] VARIANT *p);
15637
15638     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15639     HRESULT onstop([in] VARIANT v);
15640
15641     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
15642     HRESULT onstop([retval, out] VARIANT *p);
15643
15644     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
15645     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
15646
15647     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
15648     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
15649
15650     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15651     HRESULT enableDownload([in] VARIANT_BOOL v);
15652
15653     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
15654     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
15655
15656     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15657     HRESULT baseUrl([in] BSTR v);
15658
15659     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
15660     HRESULT baseUrl([retval, out] BSTR *p);
15661
15662     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
15663     HRESULT childNodes([retval, out] IDispatch **p);
15664
15665     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15666     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
15667
15668     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
15669     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
15670
15671     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15672     HRESULT onbeforeeditfocus([in] VARIANT v);
15673
15674     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
15675     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
15676
15677     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
15678     HRESULT getElementsByName(
15679         [in] BSTR v,
15680         [retval, out] IHTMLElementCollection **pelColl);
15681
15682     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
15683     HRESULT getElementById(
15684         [in] BSTR v,
15685         [retval, out] IHTMLElement **pel);
15686
15687     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
15688     HRESULT getElementsByTagName(
15689         [in] BSTR v,
15690         [retval, out] IHTMLElementCollection **pelColl);
15691 }
15692
15693 /*****************************************************************************
15694  *    IHTMLDocument4 interface
15695  */
15696 [
15697     odl,
15698     oleautomation,
15699     dual,
15700     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
15701 ]
15702 interface IHTMLDocument4 : IDispatch
15703 {
15704     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
15705     HRESULT focus();
15706
15707     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
15708     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
15709
15710     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15711     HRESULT onselectionchange([in] VARIANT v);
15712
15713     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
15714     HRESULT onselectionchange([retval, out] VARIANT *p);
15715
15716     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
15717     HRESULT namespaces([retval, out] IDispatch **p);
15718
15719     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
15720     HRESULT createDocumentFromUrl(
15721         [in] BSTR bstrUrl,
15722         [in] BSTR bstrOptions,
15723         [retval, out] IHTMLDocument2 **newDoc);
15724
15725     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15726     HRESULT media([in] BSTR v);
15727
15728     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
15729     HRESULT media([retval, out] BSTR *p);
15730
15731     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
15732     HRESULT createEventObject(
15733         [optional, in] VARIANT *pvarEventObject,
15734         [retval, out] IHTMLEventObj **ppEventObj);
15735
15736     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
15737     HRESULT fireEvent(
15738         [in] BSTR bstrEventName,
15739         [optional, in] VARIANT *pvarEventObject,
15740         [retval, out] VARIANT_BOOL *pfCancelled);
15741
15742     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
15743     HRESULT createRenderStyle(
15744         [in] BSTR v,
15745         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
15746
15747     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15748     HRESULT oncontrolselect([in] VARIANT v);
15749
15750     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
15751     HRESULT oncontrolselect([retval, out] VARIANT *p);
15752
15753     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
15754     HRESULT URLUnencoded([retval, out] BSTR *p);
15755 }
15756
15757 /*****************************************************************************
15758  *    IHTMLDocument5 interface
15759  */
15760 [
15761     odl,
15762     oleautomation,
15763     dual,
15764     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
15765 ]
15766 interface IHTMLDocument5 : IDispatch
15767 {
15768     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15769     HRESULT onmousewheel([in] VARIANT v);
15770
15771     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
15772     HRESULT onmousewheel([retval, out] VARIANT *p);
15773
15774     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
15775     HRESULT doctype([retval, out] IHTMLDOMNode **p);
15776
15777     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
15778     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
15779
15780     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
15781     HRESULT createAttribute(
15782         [in] BSTR bstrattrName,
15783         [retval, out] IHTMLDOMAttribute **ppattribute);
15784
15785     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
15786     HRESULT createComment(
15787         [in] BSTR bstrdata,
15788         [retval, out] IHTMLDOMNode **ppRetNode);
15789
15790     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15791     HRESULT onfocusin([in] VARIANT v);
15792
15793     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
15794     HRESULT onfocusin([retval, out] VARIANT *p);
15795
15796     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15797     HRESULT onfocusout([in] VARIANT v);
15798
15799     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
15800     HRESULT onfocusout([retval, out] VARIANT *p);
15801
15802     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15803     HRESULT onactivate([in] VARIANT v);
15804
15805     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
15806     HRESULT onactivate([retval, out] VARIANT *p);
15807
15808     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15809     HRESULT ondeactivate([in] VARIANT v);
15810
15811     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
15812     HRESULT ondeactivate([retval, out] VARIANT *p);
15813
15814     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15815     HRESULT onbeforeactivate([in] VARIANT v);
15816
15817     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
15818     HRESULT onbeforeactivate([retval, out] VARIANT *p);
15819
15820     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15821     HRESULT onbeforedeactivate([in] VARIANT v);
15822
15823     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
15824     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
15825
15826     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
15827     HRESULT compatMode([retval, out] BSTR *p);
15828 }
15829
15830 /*****************************************************************************
15831  *    DispHTMLDocument dispinterface
15832  */
15833 [
15834     hidden,
15835     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
15836 ]
15837 dispinterface DispHTMLDocument
15838 {
15839 properties:
15840 methods:
15841     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
15842     IDispatch *Script();
15843
15844     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
15845     IHTMLElementCollection *all();
15846
15847     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
15848     IHTMLElement *body();
15849
15850     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
15851     IHTMLElement *activeElement();
15852
15853     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
15854     IHTMLElementCollection *images();
15855
15856     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
15857     IHTMLElementCollection *applets();
15858
15859     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
15860     IHTMLElementCollection *links();
15861
15862     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
15863     IHTMLElementCollection *forms();
15864
15865     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
15866     IHTMLElementCollection *anchors();
15867
15868     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15869     void title(BSTR v);
15870
15871     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15872     BSTR title();
15873
15874     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
15875     IHTMLElementCollection *scripts();
15876
15877     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
15878     void designMode(BSTR v);
15879
15880     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
15881     BSTR designMode();
15882
15883     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
15884     IHTMLSelectionObject *selection();
15885
15886     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
15887     BSTR readyState();
15888
15889     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
15890     IHTMLFramesCollection2 *frames();
15891
15892     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
15893     IHTMLElementCollection *embeds();
15894
15895     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
15896     IHTMLElementCollection *plugins();
15897
15898     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15899     void alinkColor(VARIANT v);
15900
15901     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15902     VARIANT alinkColor();
15903
15904     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15905     void bgColor(VARIANT v);
15906
15907     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15908     VARIANT bgColor();
15909
15910     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15911     void fgColor(VARIANT v);
15912
15913     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15914     VARIANT fgColor();
15915
15916     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15917     void linkColor(VARIANT v);
15918
15919     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15920     VARIANT linkColor();
15921
15922     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15923     void vlinkColor(VARIANT v);
15924
15925     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15926     VARIANT vlinkColor();
15927
15928     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
15929     BSTR referrer();
15930
15931     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
15932     IHTMLLocation *location();
15933
15934     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
15935     BSTR lastModified();
15936
15937     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
15938     void URL(BSTR v);
15939
15940     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
15941     BSTR URL();
15942
15943     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15944     void domain(BSTR v);
15945
15946     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15947     BSTR domain();
15948
15949     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15950     void cookie(BSTR v);
15951
15952     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15953     BSTR cookie();
15954
15955     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15956     void expando(VARIANT_BOOL v);
15957
15958     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
15959     VARIANT_BOOL expando();
15960
15961     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15962     void charset(BSTR v);
15963
15964     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
15965     BSTR charset();
15966
15967     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15968     void defaultCharset(BSTR v);
15969
15970     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15971     BSTR defaultCharset();
15972
15973     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
15974     BSTR mimeType();
15975
15976     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
15977     BSTR fileSize();
15978
15979     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
15980     BSTR fileCreatedDate();
15981
15982     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
15983     BSTR fileModifiedDate();
15984
15985     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
15986     BSTR fileUpdatedDate();
15987
15988     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
15989     BSTR security();
15990
15991     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
15992     BSTR protocol();
15993
15994     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
15995     BSTR nameProp();
15996
15997     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
15998     void write([in] SAFEARRAY(VARIANT) psarray);
15999
16000     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
16001     void writeln([in] SAFEARRAY(VARIANT) psarray);
16002
16003     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
16004     IDispatch *open(
16005         [defaultvalue("text/html"), in] BSTR url,
16006         [optional, in] VARIANT name,
16007         [optional, in] VARIANT features,
16008         [optional, in] VARIANT replace);
16009
16010     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
16011     void close();
16012
16013     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
16014     void clear();
16015
16016     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
16017     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
16018
16019     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
16020     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
16021
16022     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
16023     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
16024
16025     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
16026     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
16027
16028     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
16029     BSTR queryCommandText([in] BSTR cmdID);
16030
16031     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
16032     VARIANT queryCommandValue([in] BSTR cmdID);
16033
16034     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
16035     VARIANT_BOOL execCommand(
16036         [in] BSTR cmdID,
16037         [defaultvalue(0), in] VARIANT_BOOL showUI,
16038         [optional, in] VARIANT value);
16039
16040     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
16041     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
16042
16043     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
16044     IHTMLElement *createElement([in] BSTR eTag);
16045
16046     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
16047     void onhelp(VARIANT v);
16048
16049     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
16050     VARIANT onhelp();
16051
16052     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
16053     void onclick(VARIANT v);
16054
16055     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
16056     VARIANT onclick();
16057
16058     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
16059     void ondblclick(VARIANT v);
16060
16061     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
16062     VARIANT ondblclick();
16063
16064     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
16065     void onkeyup(VARIANT v);
16066
16067     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
16068     VARIANT onkeyup();
16069
16070     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
16071     void onkeydown(VARIANT v);
16072
16073     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
16074     VARIANT onkeydown();
16075
16076     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
16077     void onkeypress(VARIANT v);
16078
16079     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
16080     VARIANT onkeypress();
16081
16082     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
16083     void onmouseup(VARIANT v);
16084
16085     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
16086     VARIANT onmouseup();
16087
16088     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
16089     void onmousedown(VARIANT v);
16090
16091     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
16092     VARIANT onmousedown();
16093
16094     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
16095     void onmousemove(VARIANT v);
16096
16097     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
16098     VARIANT onmousemove();
16099
16100     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
16101     void onmouseout(VARIANT v);
16102
16103     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
16104     VARIANT onmouseout();
16105
16106     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
16107     void onmouseover(VARIANT v);
16108
16109     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
16110     VARIANT onmouseover();
16111
16112     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16113     void onreadystatechange(VARIANT v);
16114
16115     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16116     VARIANT onreadystatechange();
16117
16118     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
16119     void onafterupdate(VARIANT v);
16120
16121     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
16122     VARIANT onafterupdate();
16123
16124     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
16125     void onrowexit(VARIANT v);
16126
16127     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
16128     VARIANT onrowexit();
16129
16130     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
16131     void onrowenter(VARIANT v);
16132
16133     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
16134     VARIANT onrowenter();
16135
16136     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
16137     void ondragstart(VARIANT v);
16138
16139     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
16140     VARIANT ondragstart();
16141
16142     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
16143     void onselectstart(VARIANT v);
16144
16145     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
16146     VARIANT onselectstart();
16147
16148     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
16149     IHTMLElement *elementFromPoint(
16150         [in] LONG x,
16151         [in] LONG y);
16152
16153     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
16154     IHTMLWindow2 *parentWindow();
16155
16156     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
16157     IHTMLStyleSheetsCollection *styleSheets();
16158
16159     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
16160     void onbeforeupdate(VARIANT v);
16161
16162     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
16163     VARIANT onbeforeupdate();
16164
16165     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
16166     void onerrorupdate(VARIANT v);
16167
16168     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
16169     VARIANT onerrorupdate();
16170
16171     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
16172     BSTR toString();
16173
16174     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
16175     IHTMLStyleSheet *createStyleSheet(
16176         [defaultvalue(""), in] BSTR bstrHref,
16177         [defaultvalue(-1), in] LONG lIndex);
16178
16179     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
16180     void releaseCapture();
16181
16182     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
16183     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
16184
16185     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
16186     IHTMLDOMNode *createTextNode([in] BSTR text);
16187
16188     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
16189     IHTMLElement *documentElement();
16190
16191     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
16192     BSTR uniqueID();
16193
16194     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
16195     VARIANT_BOOL attachEvent(
16196         [in] BSTR event,
16197         [in] IDispatch *pDisp);
16198
16199     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
16200     void detachEvent(
16201         [in] BSTR event,
16202         [in] IDispatch *pDisp);
16203
16204     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
16205     void onrowsdelete(VARIANT v);
16206
16207     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
16208     VARIANT onrowsdelete();
16209
16210     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
16211     void onrowsinserted(VARIANT v);
16212
16213     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
16214     VARIANT onrowsinserted();
16215
16216     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
16217     void oncellchange(VARIANT v);
16218
16219     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
16220     VARIANT oncellchange();
16221
16222     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
16223     void ondatasetchanged(VARIANT v);
16224
16225     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
16226     VARIANT ondatasetchanged();
16227
16228     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
16229     void ondataavailable(VARIANT v);
16230
16231     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
16232     VARIANT ondataavailable();
16233
16234     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
16235     void ondatasetcomplete(VARIANT v);
16236
16237     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
16238     VARIANT ondatasetcomplete();
16239
16240     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
16241     void onpropertychange(VARIANT v);
16242
16243     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
16244     VARIANT onpropertychange();
16245
16246     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
16247     void dir(BSTR v);
16248
16249     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
16250     BSTR dir();
16251
16252     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
16253     void oncontextmenu(VARIANT v);
16254
16255     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
16256     VARIANT oncontextmenu();
16257
16258     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
16259     void onstop(VARIANT v);
16260
16261     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
16262     VARIANT onstop();
16263
16264     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
16265     IHTMLDocument2 *createDocumentFragment();
16266
16267     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
16268     IHTMLDocument2 *parentDocument();
16269
16270     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
16271     void enableDownload(VARIANT_BOOL v);
16272
16273     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
16274     VARIANT_BOOL enableDownload();
16275
16276     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
16277     void baseUrl(BSTR v);
16278
16279     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
16280     BSTR baseUrl();
16281
16282     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
16283     void inheritStyleSheets(VARIANT_BOOL v);
16284
16285     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
16286     VARIANT_BOOL inheritStyleSheets();
16287
16288     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
16289     void onbeforeeditfocus(VARIANT v);
16290
16291     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
16292     VARIANT onbeforeeditfocus();
16293
16294     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
16295     IHTMLElementCollection *getElementsByName([in] BSTR v);
16296
16297     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
16298     IHTMLElement *getElementById([in] BSTR v);
16299
16300     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
16301     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
16302
16303     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
16304     void focus();
16305
16306     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
16307     VARIANT_BOOL hasFocus();
16308
16309     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
16310     void onselectionchange(VARIANT v);
16311
16312     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
16313     VARIANT onselectionchange();
16314
16315     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
16316     IDispatch *namespaces();
16317
16318     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
16319     IHTMLDocument2 *createDocumentFromUrl(
16320         [in] BSTR bstrUrl,
16321         [in] BSTR bstrOptions);
16322
16323     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
16324     void media(BSTR v);
16325
16326     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
16327     BSTR media();
16328
16329     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
16330     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
16331
16332     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
16333     VARIANT_BOOL fireEvent(
16334         [in] BSTR bstrEventName,
16335         [optional, in] VARIANT *pvarEventObject);
16336
16337     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
16338     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
16339
16340     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
16341     void oncontrolselect(VARIANT v);
16342
16343     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
16344     VARIANT oncontrolselect();
16345
16346     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
16347     BSTR URLUnencoded();
16348
16349     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
16350     void onmousewheel(VARIANT v);
16351
16352     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
16353     VARIANT onmousewheel();
16354
16355     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
16356     IHTMLDOMNode *doctype();
16357
16358     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
16359     IHTMLDOMImplementation *implementation();
16360
16361     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
16362     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
16363
16364     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
16365     IHTMLDOMNode *createComment([in] BSTR bstrdata);
16366
16367     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16368     void onfocusin(VARIANT v);
16369
16370     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16371     VARIANT onfocusin();
16372
16373     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16374     void onfocusout(VARIANT v);
16375
16376     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16377     VARIANT onfocusout();
16378
16379     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16380     void onactivate(VARIANT v);
16381
16382     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16383     VARIANT onactivate();
16384
16385     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16386     void ondeactivate(VARIANT v);
16387
16388     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16389     VARIANT ondeactivate();
16390
16391     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16392     void onbeforeactivate(VARIANT v);
16393
16394     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16395     VARIANT onbeforeactivate();
16396
16397     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16398     void onbeforedeactivate(VARIANT v);
16399
16400     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16401     VARIANT onbeforedeactivate();
16402
16403     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
16404     BSTR compatMode();
16405
16406     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
16407     LONG nodeType();
16408
16409     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
16410     IHTMLDOMNode *parentNode();
16411
16412     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
16413     VARIANT_BOOL hasChildNodes();
16414
16415     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
16416     IDispatch *childNodes();
16417
16418     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
16419     IDispatch *attributes();
16420
16421     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
16422     IHTMLDOMNode *insertBefore(
16423         [in] IHTMLDOMNode *newChild,
16424         [optional, in] VARIANT refChild);
16425
16426     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
16427     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
16428
16429     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
16430     IHTMLDOMNode *replaceChild(
16431         [in] IHTMLDOMNode *newChild,
16432         [in] IHTMLDOMNode *oldChild);
16433
16434     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
16435     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
16436
16437     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
16438     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
16439
16440     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
16441     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
16442
16443     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
16444     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
16445
16446     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
16447     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
16448
16449     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
16450     BSTR nodeName();
16451
16452     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16453     void nodeValue(VARIANT v);
16454
16455     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16456     VARIANT nodeValue();
16457
16458     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
16459     IHTMLDOMNode *firstChild();
16460
16461     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
16462     IHTMLDOMNode *lastChild();
16463
16464     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
16465     IHTMLDOMNode *previousSibling();
16466
16467     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
16468     IHTMLDOMNode *nextSibling();
16469
16470     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
16471     IDispatch *ownerDocument();
16472 }
16473
16474 /*****************************************************************************
16475  *    HTMLDocument coclass
16476  */
16477 [
16478     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
16479 ]
16480 coclass HTMLDocument
16481 {
16482     [default]         dispinterface DispHTMLDocument;
16483     [source, default] dispinterface HTMLDocumentEvents;
16484     [source]          dispinterface HTMLDocumentEvents2;
16485                       interface IHTMLDocument2;
16486                       interface IHTMLDocument3;
16487                       interface IHTMLDocument4;
16488                       interface IHTMLDocument5;
16489                       interface IHTMLDOMNode;
16490                       interface IHTMLDOMNode2;
16491 }
16492
16493 /*****************************************************************************
16494  *    IHTMLCommentElement interface
16495  */
16496 [
16497     odl,
16498     oleautomation,
16499     dual,
16500     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
16501 ]
16502 interface IHTMLCommentElement : IDispatch
16503 {
16504     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16505     HRESULT text([in] BSTR v);
16506
16507     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16508     HRESULT text([out, retval] BSTR *p);
16509
16510     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16511     HRESULT atomic([in] LONG v);
16512
16513     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16514     HRESULT atomic([out, retval] LONG *p);
16515 }
16516
16517 /*****************************************************************************
16518  *    IHTMLCommentElement2 interface
16519  */
16520 [
16521     odl,
16522     oleautomation,
16523     dual,
16524     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
16525 ]
16526 interface IHTMLCommentElement2 : IDispatch
16527 {
16528     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16529     HRESULT data([in] BSTR v);
16530
16531     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16532     HRESULT data([out, retval] BSTR *p);
16533
16534     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
16535     HRESULT length([out, retval] LONG *p);
16536
16537     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
16538     HRESULT substringData(
16539             [in] LONG offset,
16540             [in] LONG Count,
16541             [out, retval] BSTR *pbstrsubString);
16542
16543     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
16544     HRESULT appendData([in] BSTR bstrstring);
16545
16546     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
16547     HRESULT insertData(
16548             [in] LONG offset,
16549             [in] BSTR bstrstring);
16550
16551     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
16552     HRESULT deleteData(
16553             [in] LONG offset,
16554             [in] LONG Count);
16555
16556     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
16557     HRESULT replaceData(
16558             [in] LONG offset,
16559             [in] LONG Count,
16560             [in] BSTR bstrstring);
16561 }
16562
16563 /*****************************************************************************
16564  *    DispHTMLCommentElement dispinterface
16565  */
16566 [
16567     hidden,
16568     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
16569 ]
16570 dispinterface DispHTMLCommentElement
16571 {
16572 properties:
16573 methods:
16574     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
16575     void setAttribute(
16576             [in] BSTR strAttributeName,
16577             [in] VARIANT AttributeValue,
16578             [in, defaultvalue(1)] LONG lFlags);
16579
16580     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
16581     VARIANT getAttribute(
16582              [in] BSTR strAttributeName,
16583              [in, defaultvalue(0)] LONG lFlags);
16584
16585     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
16586     VARIANT_BOOL removeAttribute(
16587             [in] BSTR strAttributeName,
16588             [in, defaultvalue(1)] LONG lFlags);
16589
16590     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
16591     void className(BSTR v);
16592
16593     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
16594     BSTR className();
16595
16596     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
16597     void id(BSTR v);
16598
16599     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
16600     BSTR id();
16601
16602     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
16603     BSTR tagName();
16604
16605     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
16606     IHTMLElement *parentElement();
16607
16608     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
16609     IHTMLStyle *style();
16610
16611     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16612     void onhelp(VARIANT v);
16613
16614     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
16615     VARIANT onhelp();
16616
16617     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16618     void onclick(VARIANT v);
16619
16620     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
16621     VARIANT onclick();
16622
16623     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16624     void ondblclick(VARIANT v);
16625
16626     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
16627     VARIANT ondblclick();
16628
16629     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16630     void onkeydown(VARIANT v);
16631
16632     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
16633     VARIANT onkeydown();
16634
16635     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16636     void onkeyup(VARIANT v);
16637
16638     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
16639     VARIANT onkeyup();
16640
16641     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16642     void onkeypress(VARIANT v);
16643
16644     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
16645     VARIANT onkeypress();
16646
16647     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16648     void onmouseout(VARIANT v);
16649
16650     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
16651     VARIANT onmouseout();
16652
16653     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16654     void onmouseover(VARIANT v);
16655
16656     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
16657     VARIANT onmouseover();
16658
16659     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16660     void onmousemove(VARIANT v);
16661
16662     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
16663     VARIANT onmousemove();
16664
16665     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16666     void onmousedown(VARIANT v);
16667
16668     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
16669     VARIANT onmousedown();
16670
16671     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16672     void onmouseup(VARIANT v);
16673
16674     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
16675     VARIANT onmouseup();
16676
16677     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
16678     IDispatch *document();
16679
16680     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16681     void title(BSTR v);
16682
16683     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
16684     BSTR title();
16685
16686     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16687     void language(BSTR v);
16688
16689     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
16690     BSTR language();
16691
16692     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16693     void onselectstart(VARIANT v);
16694
16695     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
16696     VARIANT onselectstart();
16697
16698     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
16699     void scrollIntoView([in, optional] VARIANT varargStart);
16700
16701     [id(DISPID_IHTMLELEMENT_CONTAINS)]
16702     VARIANT_BOOL contains([in] IHTMLElement *pChild);
16703
16704     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
16705     LONG sourceIndex();
16706
16707     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
16708     VARIANT recordNumber();
16709
16710     [propput, id(DISPID_IHTMLELEMENT_LANG)]
16711     void lang(BSTR v);
16712
16713     [propget, id(DISPID_IHTMLELEMENT_LANG)]
16714     BSTR lang();
16715
16716     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
16717     LONG offsetLeft();
16718
16719     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
16720     LONG offsetTop();
16721
16722     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
16723     LONG offsetWidth();
16724
16725     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
16726     LONG offsetHeight();
16727
16728     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
16729     IHTMLElement *offsetParent();
16730
16731     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
16732     void innerHTML(BSTR v);
16733
16734     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
16735     BSTR innerHTML();
16736
16737     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
16738     void innerText(BSTR v);
16739
16740     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
16741     BSTR innerText();
16742
16743     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
16744     void outerHTML(BSTR v);
16745
16746     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
16747     BSTR outerHTML();
16748
16749     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
16750     void outerText(BSTR v);
16751
16752     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
16753     BSTR outerText();
16754
16755     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
16756     void insertAdjacentHTML(
16757             [in] BSTR where,
16758             [in] BSTR html);
16759
16760     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
16761     void insertAdjacentText(
16762             [in] BSTR where,
16763             [in] BSTR text);
16764
16765     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
16766     IHTMLElement *parentTextEdit();
16767
16768     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
16769     VARIANT_BOOL isTextEdit();
16770
16771     [id(DISPID_IHTMLELEMENT_CLICK)]
16772     void click();
16773
16774     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
16775     IHTMLFiltersCollection *filters();
16776
16777     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
16778     void ondragstart(VARIANT v);
16779
16780     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
16781     VARIANT ondragstart();
16782
16783     [id(DISPID_IHTMLELEMENT_TOSTRING)]
16784     BSTR toString();
16785
16786     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
16787     void onbeforeupdate(VARIANT v);
16788
16789     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
16790     VARIANT onbeforeupdate();
16791
16792     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
16793     void onafterupdate(VARIANT v);
16794
16795     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
16796     VARIANT onafterupdate();
16797
16798     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
16799     void onerrorupdate(VARIANT v);
16800
16801     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
16802     VARIANT onerrorupdate();
16803
16804     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
16805     void onrowexit(VARIANT v);
16806
16807     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
16808     VARIANT onrowexit();
16809
16810     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
16811     void onrowenter(VARIANT v);
16812
16813     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
16814     VARIANT onrowenter();
16815
16816     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
16817     void ondatasetchanged(VARIANT v);
16818
16819     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
16820     VARIANT ondatasetchanged();
16821
16822     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
16823     void ondataavailable(VARIANT v);
16824
16825     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
16826     VARIANT ondataavailable();
16827
16828     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
16829     void ondatasetcomplete(VARIANT v);
16830
16831     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
16832     VARIANT ondatasetcomplete();
16833
16834     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
16835     void onfilterchange(VARIANT v);
16836
16837     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
16838     VARIANT onfilterchange();
16839
16840     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
16841     IDispatch *children();
16842
16843     [propget, id(DISPID_IHTMLELEMENT_ALL)]
16844     IDispatch *all();
16845
16846     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
16847     BSTR scopeName();
16848
16849     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
16850     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
16851
16852     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
16853     void releaseCapture();
16854
16855     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
16856     void onlosecapture(VARIANT v);
16857
16858     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
16859     VARIANT onlosecapture();
16860
16861     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
16862     BSTR componentFromPoint(
16863             [in] LONG x,
16864             [in] LONG y);
16865
16866     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
16867     void doScroll([in, optional] VARIANT component);
16868
16869     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
16870     void onscroll(VARIANT v);
16871
16872     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
16873     VARIANT onscroll();
16874
16875     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
16876     void ondrag(VARIANT v);
16877
16878     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
16879     VARIANT ondrag();
16880
16881     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
16882     void ondragend(VARIANT v);
16883
16884     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
16885     VARIANT ondragend();
16886
16887     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
16888     void ondragenter(VARIANT v);
16889
16890     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
16891     VARIANT ondragenter();
16892
16893     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
16894     void ondragover(VARIANT v);
16895
16896     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
16897     VARIANT ondragover();
16898
16899     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
16900     void ondragleave(VARIANT v);
16901
16902     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
16903     VARIANT ondragleave();
16904
16905     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
16906     void ondrop(VARIANT v);
16907
16908     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
16909     VARIANT ondrop();
16910
16911     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
16912     void onbeforecut(VARIANT v);
16913
16914     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
16915     VARIANT onbeforecut();
16916
16917     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
16918     void oncut(VARIANT v);
16919
16920     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
16921     VARIANT oncut();
16922
16923     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
16924     void onbeforecopy(VARIANT v);
16925
16926     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
16927     VARIANT onbeforecopy();
16928
16929     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
16930     void oncopy(VARIANT v);
16931
16932     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
16933     VARIANT oncopy();
16934
16935     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
16936     void onbeforepaste(VARIANT v);
16937
16938     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
16939     VARIANT onbeforepaste();
16940
16941     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16942     void onpaste(VARIANT v);
16943
16944     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
16945     VARIANT onpaste();
16946
16947     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
16948     IHTMLCurrentStyle *currentStyle();
16949
16950     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16951     void onpropertychange(VARIANT v);
16952
16953     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
16954     VARIANT onpropertychange();
16955
16956     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
16957     IHTMLRectCollection *getClientRects();
16958
16959     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
16960     IHTMLRect *getBoundingClientRect();
16961
16962     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
16963     void setExpression(
16964             [in] BSTR propname,
16965             [in] BSTR expression,
16966             [in, defaultvalue("")] BSTR language);
16967
16968     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
16969     VARIANT getExpression([in] BSTR propname);
16970
16971     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
16972     VARIANT_BOOL removeExpression([in] BSTR propname);
16973
16974     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16975     void tabIndex(short v);
16976
16977     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
16978     short tabIndex();
16979
16980     [id(DISPID_IHTMLELEMENT2_FOCUS)]
16981     void focus();
16982
16983     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16984     void accessKey(BSTR v);
16985
16986     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
16987     BSTR accessKey();
16988
16989     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16990     void onblur(VARIANT v);
16991
16992     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
16993     VARIANT onblur();
16994
16995     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16996     void onfocus(VARIANT v);
16997
16998     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
16999     VARIANT onfocus();
17000
17001     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17002     void onresize(VARIANT v);
17003
17004     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17005     VARIANT onresize();
17006
17007     [id(DISPID_IHTMLELEMENT2_BLUR)]
17008     void blur();
17009
17010     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
17011     void addFilter([in] IUnknown *pUnk);
17012
17013     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
17014     void removeFilter([in] IUnknown *pUnk);
17015
17016     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
17017     LONG clientHeight();
17018
17019     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
17020     LONG clientWidth();
17021
17022     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
17023     LONG clientTop();
17024
17025     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
17026     LONG clientLeft();
17027
17028     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
17029     VARIANT_BOOL attachEvent(
17030             [in] BSTR event,
17031             [in] IDispatch *pDisp);
17032
17033     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
17034     void detachEvent(
17035             [in] BSTR event,
17036             [in] IDispatch *pDisp);
17037
17038     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
17039     VARIANT readyState();
17040
17041     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17042     void onreadystatechange(VARIANT v);
17043
17044     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17045     VARIANT onreadystatechange();
17046
17047     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17048     void onrowsdelete(VARIANT v);
17049
17050     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17051     VARIANT onrowsdelete();
17052
17053     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17054     void onrowsinserted(VARIANT v);
17055
17056     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17057      VARIANT onrowsinserted();
17058
17059     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17060      void oncellchange(VARIANT v);
17061
17062     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17063     VARIANT oncellchange();
17064
17065     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17066     void dir(BSTR v);
17067
17068     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17069     BSTR dir();
17070
17071     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
17072     IDispatch *createControlRange();
17073
17074     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
17075     LONG scrollHeight();
17076
17077     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
17078     LONG scrollWidth();
17079
17080     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17081     void scrollTop(LONG v);
17082
17083     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17084     LONG scrollTop();
17085
17086     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17087     void scrollLeft(LONG v);
17088
17089     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17090     LONG scrollLeft();
17091
17092     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
17093     void clearAttributes();
17094
17095     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17096     void oncontextmenu(VARIANT v);
17097
17098     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17099     VARIANT oncontextmenu();
17100
17101     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
17102     IHTMLElement *insertAdjacentElement(
17103             [in] BSTR where,
17104             [in] IHTMLElement *insertedElement);
17105
17106     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
17107     IHTMLElement *applyElement(
17108             [in] IHTMLElement *apply,
17109             [in] BSTR where);
17110
17111     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
17112     BSTR getAdjacentText([in] BSTR where);
17113
17114     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
17115     BSTR replaceAdjacentText(
17116             [in] BSTR where,
17117             [in] BSTR newText);
17118
17119     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
17120     VARIANT_BOOL canHaveChildren();
17121
17122     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
17123     LONG addBehavior(
17124             [in] BSTR bstrUrl,
17125             [in, optional] VARIANT *pvarFactory);
17126
17127     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
17128     VARIANT_BOOL removeBehavior([in] LONG cookie);
17129
17130     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
17131     IHTMLStyle *runtimeStyle();
17132
17133     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
17134     IDispatch *behaviorUrns();
17135
17136     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
17137     void tagUrn(BSTR v);
17138
17139     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
17140     BSTR tagUrn();
17141
17142     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17143     void onbeforeeditfocus(VARIANT v);
17144
17145     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17146     VARIANT onbeforeeditfocus();
17147
17148     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
17149     LONG readyStateValue();
17150
17151     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
17152     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
17153
17154     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
17155     void mergeAttributes(
17156             [in] IHTMLElement *mergeThis,
17157             [in, optional] VARIANT *pvarFlags);
17158
17159     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
17160     VARIANT_BOOL isMultiLine();
17161
17162     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
17163     VARIANT_BOOL canHaveHTML();
17164
17165     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17166     void onlayoutcomplete(VARIANT v);
17167
17168     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17169     VARIANT onlayoutcomplete();
17170
17171     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17172     void onpage(VARIANT v);
17173
17174     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17175     VARIANT onpage();
17176
17177     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17178     void inflateBlock(VARIANT_BOOL v);
17179
17180     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17181     VARIANT_BOOL inflateBlock();
17182
17183     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17184     void onbeforedeactivate(VARIANT v);
17185
17186     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17187     VARIANT onbeforedeactivate();
17188
17189     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
17190     void setActive();
17191
17192     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
17193     void contentEditable(BSTR v);
17194
17195     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
17196     BSTR contentEditable();
17197
17198     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
17199     VARIANT_BOOL isContentEditable();
17200
17201     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17202     void hideFocus(VARIANT_BOOL v);
17203
17204     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17205     VARIANT_BOOL hideFocus();
17206
17207     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17208     void disabled(VARIANT_BOOL v);
17209
17210     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17211     VARIANT_BOOL disabled();
17212
17213     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
17214     VARIANT_BOOL isDisabled();
17215
17216     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17217     void onmove(VARIANT v);
17218
17219     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17220     VARIANT onmove();
17221
17222     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17223     void oncontrolselect(VARIANT v);
17224
17225     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17226     VARIANT oncontrolselect();
17227
17228     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
17229     VARIANT_BOOL fireEvent(
17230             [in] BSTR bstrEventName,
17231             [in, optional] VARIANT *pvarEventObject);
17232
17233     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17234     void onresizestart(VARIANT v);
17235
17236     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17237     VARIANT onresizestart();
17238
17239     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17240     void onresizeend(VARIANT v);
17241
17242     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17243     VARIANT onresizeend();
17244
17245     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
17246     void onmovestart(VARIANT v);
17247
17248     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
17249     VARIANT onmovestart();
17250
17251     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
17252     void onmoveend(VARIANT v);
17253
17254     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
17255     VARIANT onmoveend();
17256
17257     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
17258     void onmouseenter(VARIANT v);
17259
17260     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
17261     VARIANT onmouseenter();
17262
17263     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
17264     void onmouseleave(VARIANT v);
17265
17266     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
17267     VARIANT onmouseleave();
17268
17269     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
17270     void onactivate(VARIANT v);
17271
17272     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
17273     VARIANT onactivate();
17274
17275     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
17276     void ondeactivate(VARIANT v);
17277
17278     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
17279     VARIANT ondeactivate();
17280
17281     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
17282     VARIANT_BOOL dragDrop();
17283
17284     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
17285     LONG glyphMode();
17286
17287     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
17288     void onmousewheel(VARIANT v);
17289
17290     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
17291     VARIANT onmousewheel();
17292
17293     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
17294     void normalize();
17295
17296     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
17297     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
17298
17299     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
17300     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
17301
17302     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
17303     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
17304
17305     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
17306     void onbeforeactivate(VARIANT v);
17307
17308     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
17309     VARIANT onbeforeactivate();
17310
17311     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
17312     void onfocusin(VARIANT v);
17313
17314     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
17315     VARIANT onfocusin();
17316
17317     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
17318     void onfocusout(VARIANT v);
17319
17320     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
17321     VARIANT onfocusout();
17322
17323     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
17324     LONG uniqueNumber();
17325
17326     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
17327     BSTR uniqueID();
17328
17329     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
17330     LONG nodeType();
17331
17332     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
17333     IHTMLDOMNode *parentNode();
17334
17335     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
17336     VARIANT_BOOL hasChildNodes();
17337
17338     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
17339     IDispatch *childNodes();
17340
17341     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
17342     IDispatch *attributes();
17343
17344     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
17345     IHTMLDOMNode *insertBefore(
17346             [in] IHTMLDOMNode *newChild,
17347             [in, optional] VARIANT refChild);
17348
17349     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
17350     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
17351
17352     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
17353     IHTMLDOMNode *replaceChild(
17354             [in] IHTMLDOMNode *newChild,
17355             [in] IHTMLDOMNode *oldChild);
17356
17357     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
17358     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
17359
17360     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
17361     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
17362
17363     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
17364     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
17365
17366     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
17367     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
17368
17369     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
17370     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
17371
17372     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
17373     BSTR nodeName();
17374
17375     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17376     void nodeValue(VARIANT v);
17377
17378     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17379     VARIANT nodeValue();
17380
17381     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
17382     IHTMLDOMNode *firstChild();
17383
17384     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
17385     IHTMLDOMNode *lastChild();
17386
17387     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
17388     IHTMLDOMNode *previousSibling();
17389
17390     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
17391     IHTMLDOMNode *nextSibling();
17392
17393     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
17394     IDispatch *ownerDocument();
17395
17396     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
17397     void text(BSTR v);
17398
17399     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
17400     BSTR text();
17401
17402     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
17403     void atomic(LONG v);
17404
17405     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
17406     LONG atomic();
17407
17408     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
17409     void data(BSTR v);
17410
17411     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
17412     BSTR data();
17413
17414     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
17415     LONG length();
17416
17417     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
17418     BSTR substringData(
17419             [in] LONG offset,
17420             [in] LONG Count);
17421
17422     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
17423     void appendData([in] BSTR bstrstring);
17424
17425     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
17426      void insertData(
17427             [in] LONG offset,
17428             [in] BSTR bstrstring);
17429
17430     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
17431     void deleteData(
17432             [in] LONG offset,
17433             [in] LONG Count);
17434
17435     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
17436     void replaceData(
17437             [in] LONG offset,
17438             [in] LONG Count,
17439             [in] BSTR bstrstring);
17440 }
17441
17442 [
17443     hidden,
17444     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
17445 ]
17446 dispinterface HTMLElementEvents2
17447 {
17448 properties:
17449 methods:
17450     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
17451     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
17452
17453     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
17454     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
17455
17456     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
17457     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
17458
17459     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
17460     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
17461
17462     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
17463     void onkeydown([in] IHTMLEventObj* pEvtObj);
17464
17465     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
17466     void onkeyup([in] IHTMLEventObj* pEvtObj);
17467
17468     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
17469     void onmouseout([in] IHTMLEventObj* pEvtObj);
17470
17471     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
17472     void onmouseover([in] IHTMLEventObj* pEvtObj);
17473
17474     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
17475     void onmousemove([in] IHTMLEventObj* pEvtObj);
17476
17477     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
17478     void onmousedown([in] IHTMLEventObj* pEvtObj);
17479
17480     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
17481     void onmouseup([in] IHTMLEventObj* pEvtObj);
17482
17483     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
17484     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
17485
17486     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
17487     void onfilterchange([in] IHTMLEventObj* pEvtObj);
17488
17489     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
17490     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
17491
17492     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
17493     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
17494
17495     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
17496     void onafterupdate([in] IHTMLEventObj* pEvtObj);
17497
17498     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
17499     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
17500
17501     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
17502     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
17503
17504     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
17505     void onrowenter([in] IHTMLEventObj* pEvtObj);
17506
17507     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
17508     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
17509
17510     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
17511     void ondataavailable([in] IHTMLEventObj* pEvtObj);
17512
17513     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
17514     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
17515
17516     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
17517     void onlosecapture([in] IHTMLEventObj* pEvtObj);
17518
17519     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
17520     void onpropertychange([in] IHTMLEventObj* pEvtObj);
17521
17522     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
17523     void onscroll([in] IHTMLEventObj* pEvtObj);
17524
17525     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
17526     void onfocus([in] IHTMLEventObj* pEvtObj);
17527
17528     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
17529     void onblur([in] IHTMLEventObj* pEvtObj);
17530
17531     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
17532     void onresize([in] IHTMLEventObj* pEvtObj);
17533
17534     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
17535     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
17536
17537     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
17538     void ondragend([in] IHTMLEventObj* pEvtObj);
17539
17540     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
17541     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
17542
17543     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
17544     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
17545
17546     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
17547     void ondragleave([in] IHTMLEventObj* pEvtObj);
17548
17549     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
17550     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
17551
17552     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
17553     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
17554
17555     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
17556     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
17557
17558     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
17559     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
17560
17561     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
17562     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
17563
17564     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
17565     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
17566
17567     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
17568     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
17569
17570     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
17571     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
17572
17573     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
17574     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
17575
17576     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
17577     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
17578
17579     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
17580     void oncellchange([in] IHTMLEventObj* pEvtObj);
17581
17582     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
17583     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
17584
17585     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
17586     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
17587
17588     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
17589     void onpage([in] IHTMLEventObj* pEvtObj);
17590
17591     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
17592     void onmouseenter([in] IHTMLEventObj* pEvtObj);
17593
17594     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
17595     void onmouseleave([in] IHTMLEventObj* pEvtObj);
17596
17597     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
17598     void onactivate([in] IHTMLEventObj* pEvtObj);
17599
17600     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
17601     void ondeactivate([in] IHTMLEventObj* pEvtObj);
17602
17603     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
17604     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
17605
17606     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
17607     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
17608
17609     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
17610     void onfocusin([in] IHTMLEventObj* pEvtObj);
17611
17612     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
17613     void onfocusout([in] IHTMLEventObj* pEvtObj);
17614
17615     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
17616     void onmove([in] IHTMLEventObj* pEvtObj);
17617
17618     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
17619     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
17620
17621     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
17622     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
17623
17624     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
17625     void onmoveend([in] IHTMLEventObj* pEvtObj);
17626
17627     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
17628     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
17629
17630     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
17631     void onresizeend([in] IHTMLEventObj* pEvtObj);
17632
17633     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
17634     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
17635 };
17636 [
17637     hidden,
17638     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
17639 ]
17640 dispinterface HTMLElementEvents
17641 {
17642 properties:
17643 methods:
17644     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
17645     VARIANT_BOOL onhelp();
17646
17647     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
17648     VARIANT_BOOL onclick();
17649
17650     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
17651     VARIANT_BOOL ondblclick();
17652
17653     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
17654     VARIANT_BOOL onkeypress();
17655
17656     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
17657     void onkeydown();
17658
17659     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
17660     void onkeyup();
17661
17662     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
17663     void onmouseout();
17664
17665     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
17666     void onmouseover();
17667
17668     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
17669     void onmousemove();
17670
17671     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
17672     void onmousedown();
17673
17674     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
17675     void onmouseup();
17676
17677     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
17678     VARIANT_BOOL onselectstart();
17679
17680     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
17681     void onfilterchange();
17682
17683     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
17684     VARIANT_BOOL ondragstart();
17685
17686     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
17687     VARIANT_BOOL onbeforeupdate();
17688
17689     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
17690     void onafterupdate();
17691
17692     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
17693     VARIANT_BOOL onerrorupdate();
17694
17695     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
17696     VARIANT_BOOL onrowexit();
17697
17698     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
17699     void onrowenter();
17700
17701     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
17702     void ondatasetchanged();
17703
17704     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
17705     void ondataavailable();
17706
17707     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
17708     void ondatasetcomplete();
17709
17710     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
17711     void onlosecapture();
17712
17713     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
17714     void onpropertychange();
17715
17716     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
17717     void onscroll();
17718
17719     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
17720     void onfocus();
17721
17722     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
17723     void onblur();
17724
17725     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
17726     void onresize();
17727
17728     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
17729     VARIANT_BOOL ondrag();
17730
17731     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
17732     void ondragend();
17733
17734     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
17735     VARIANT_BOOL ondragenter();
17736
17737     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
17738     VARIANT_BOOL ondragover();
17739
17740     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
17741     void ondragleave();
17742
17743     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
17744     VARIANT_BOOL ondrop();
17745
17746     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
17747     VARIANT_BOOL onbeforecut();
17748
17749     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
17750     VARIANT_BOOL oncut();
17751
17752     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
17753     VARIANT_BOOL onbeforecopy();
17754
17755     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
17756     VARIANT_BOOL oncopy();
17757
17758     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
17759     VARIANT_BOOL onbeforepaste();
17760
17761     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
17762     VARIANT_BOOL onpaste();
17763
17764     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
17765     VARIANT_BOOL oncontextmenu();
17766
17767     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
17768     void onrowsdelete();
17769
17770     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
17771     void onrowsinserted();
17772
17773     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
17774     void oncellchange();
17775
17776     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
17777     void onreadystatechange();
17778
17779     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
17780     void onbeforeeditfocus();
17781
17782     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
17783     void onlayoutcomplete();
17784
17785     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
17786     void onpage();
17787
17788     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
17789     VARIANT_BOOL onbeforedeactivate();
17790
17791     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
17792     VARIANT_BOOL onbeforeactivate();
17793
17794     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
17795     void onmove();
17796
17797     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
17798     VARIANT_BOOL oncontrolselect();
17799
17800     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
17801     VARIANT_BOOL onmovestart();
17802
17803     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
17804     void onmoveend();
17805
17806     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
17807     VARIANT_BOOL onresizestart();
17808
17809     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
17810     void onresizeend();
17811
17812     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
17813     void onmouseenter();
17814
17815     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
17816     void onmouseleave();
17817
17818     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
17819     VARIANT_BOOL onmousewheel();
17820
17821     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
17822     void onactivate();
17823
17824     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
17825     void ondeactivate();
17826
17827     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
17828     void onfocusin();
17829
17830     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
17831     void onfocusout();
17832
17833 };
17834
17835 [
17836     noncreatable,
17837     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
17838 ]
17839 coclass HTMLCommentElement
17840 {
17841     [default]           dispinterface DispHTMLCommentElement;
17842     [source, default]   dispinterface HTMLElementEvents;
17843     [source]            dispinterface HTMLElementEvents2;
17844                         interface IHTMLElement;
17845                         interface IHTMLElement2;
17846                         interface IHTMLElement3;
17847                         interface IHTMLElement4;
17848                         interface IHTMLUniqueName;
17849                         interface IHTMLDOMNode;
17850                         interface IHTMLDOMNode2;
17851                         interface IHTMLCommentElement;
17852                         interface IHTMLCommentElement2;
17853 }
17854
17855 /*****************************************************************************
17856  *    HTMLTableEvents dispinterface
17857  */
17858 [
17859     hidden,
17860     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
17861 ]
17862 dispinterface HTMLTableEvents
17863 {
17864 properties:
17865 methods:
17866     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
17867     VARIANT_BOOL onhelp();
17868
17869     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
17870     VARIANT_BOOL onclick();
17871
17872     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
17873     VARIANT_BOOL ondblclick();
17874
17875     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
17876     VARIANT_BOOL onkeypress();
17877
17878     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
17879     void onkeydown();
17880
17881     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
17882     void onkeyup();
17883
17884     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
17885     void onmouseout();
17886
17887     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
17888     void onmouseover();
17889
17890     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
17891     void onmousemove();
17892
17893     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
17894     void onmousedown();
17895
17896     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
17897     void onmouseup();
17898
17899     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
17900     VARIANT_BOOL onselectstart();
17901
17902     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
17903     void onfilterchange();
17904
17905     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
17906     VARIANT_BOOL ondragstart();
17907
17908     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
17909     VARIANT_BOOL onbeforeupdate();
17910
17911     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
17912     void onafterupdate();
17913
17914     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
17915     VARIANT_BOOL onerrorupdate();
17916
17917     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
17918     VARIANT_BOOL onrowexit();
17919
17920     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
17921     void onrowenter();
17922
17923     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
17924     void ondatasetchanged();
17925
17926     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
17927     void ondataavailable();
17928
17929     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
17930     void ondatasetcomplete();
17931
17932     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
17933     void onlosecapture();
17934
17935     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
17936     void onpropertychange();
17937
17938     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
17939     void onscroll();
17940
17941     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
17942     void onfocus();
17943
17944     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
17945     void onblur();
17946
17947     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
17948     void onresize();
17949
17950     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
17951     VARIANT_BOOL ondrag();
17952
17953     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
17954     void ondragend();
17955
17956     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
17957     VARIANT_BOOL ondragenter();
17958
17959     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
17960     VARIANT_BOOL ondragover();
17961
17962     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
17963     void ondragleave();
17964
17965     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
17966     VARIANT_BOOL ondrop();
17967
17968     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
17969     VARIANT_BOOL onbeforecut();
17970
17971     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
17972     VARIANT_BOOL oncut();
17973
17974     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
17975     VARIANT_BOOL onbeforecopy();
17976
17977     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
17978     VARIANT_BOOL oncopy();
17979
17980     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
17981     VARIANT_BOOL onbeforepaste();
17982
17983     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
17984     VARIANT_BOOL onpaste();
17985
17986     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
17987     VARIANT_BOOL oncontextmenu();
17988
17989     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
17990     void onrowsdelete();
17991
17992     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
17993     void onrowsinserted();
17994
17995     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
17996     void oncellchange();
17997
17998     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
17999     void onreadystatechange();
18000
18001     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
18002     void onbeforeeditfocus();
18003
18004     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
18005     void onlayoutcomplete();
18006
18007     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
18008     void onpage();
18009
18010     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
18011     VARIANT_BOOL onbeforedeactivate();
18012
18013     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
18014     VARIANT_BOOL onbeforeactivate();
18015
18016     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
18017     void onmove();
18018
18019     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
18020     VARIANT_BOOL oncontrolselect();
18021
18022     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
18023     VARIANT_BOOL onmovestart();
18024
18025     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
18026     void onmoveend();
18027
18028     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
18029     VARIANT_BOOL onresizestart();
18030
18031     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
18032     void onresizeend();
18033
18034     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
18035     void onmouseenter();
18036
18037     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
18038     void onmouseleave();
18039
18040     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
18041     VARIANT_BOOL onmousewheel();
18042
18043     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
18044     void onactivate();
18045
18046     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
18047     void ondeactivate();
18048
18049     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
18050     void onfocusin();
18051
18052     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
18053     void onfocusout();
18054 }
18055
18056 [
18057     hidden,
18058     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
18059 ]
18060 dispinterface HTMLTableEvents2
18061 {
18062 properties:
18063 methods:
18064     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
18065     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
18066
18067     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
18068     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
18069
18070     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
18071     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
18072
18073     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
18074     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
18075
18076     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
18077     void onkeydown([in] IHTMLEventObj* pEvtObj);
18078
18079     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
18080     void onkeyup([in] IHTMLEventObj* pEvtObj);
18081
18082     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
18083     void onmouseout([in] IHTMLEventObj* pEvtObj);
18084
18085     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
18086     void onmouseover([in] IHTMLEventObj* pEvtObj);
18087
18088     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
18089     void onmousemove([in] IHTMLEventObj* pEvtObj);
18090
18091     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
18092     void onmousedown([in] IHTMLEventObj* pEvtObj);
18093
18094     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
18095     void onmouseup([in] IHTMLEventObj* pEvtObj);
18096
18097     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
18098     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
18099
18100     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
18101     void onfilterchange([in] IHTMLEventObj* pEvtObj);
18102
18103     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
18104     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
18105
18106     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
18107     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
18108
18109     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
18110     void onafterupdate([in] IHTMLEventObj* pEvtObj);
18111
18112     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
18113     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
18114
18115     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
18116     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
18117
18118     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
18119     void onrowenter([in] IHTMLEventObj* pEvtObj);
18120
18121     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
18122     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
18123
18124     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
18125     void ondataavailable([in] IHTMLEventObj* pEvtObj);
18126
18127     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
18128     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
18129
18130     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
18131     void onlosecapture([in] IHTMLEventObj* pEvtObj);
18132
18133     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
18134     void onpropertychange([in] IHTMLEventObj* pEvtObj);
18135
18136     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
18137     void onscroll([in] IHTMLEventObj* pEvtObj);
18138
18139     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
18140     void onfocus([in] IHTMLEventObj* pEvtObj);
18141
18142     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
18143     void onblur([in] IHTMLEventObj* pEvtObj);
18144
18145     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
18146     void onresize([in] IHTMLEventObj* pEvtObj);
18147
18148     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
18149     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
18150
18151     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
18152     void ondragend([in] IHTMLEventObj* pEvtObj);
18153
18154     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
18155     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
18156
18157     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
18158     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
18159
18160     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
18161     void ondragleave([in] IHTMLEventObj* pEvtObj);
18162
18163     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
18164     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
18165
18166     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
18167     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
18168
18169     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
18170     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
18171
18172     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
18173     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
18174
18175     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
18176     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
18177
18178     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
18179     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
18180
18181     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
18182     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
18183
18184     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
18185     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
18186
18187     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
18188     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
18189
18190     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
18191     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
18192
18193     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
18194     void oncellchange([in] IHTMLEventObj* pEvtObj);
18195
18196     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
18197     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
18198
18199     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
18200     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
18201
18202     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
18203     void onpage([in] IHTMLEventObj* pEvtObj);
18204
18205     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
18206     void onmouseenter([in] IHTMLEventObj* pEvtObj);
18207
18208     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
18209     void onmouseleave([in] IHTMLEventObj* pEvtObj);
18210
18211     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
18212     void onactivate([in] IHTMLEventObj* pEvtObj);
18213
18214     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
18215     void ondeactivate([in] IHTMLEventObj* pEvtObj);
18216
18217     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
18218     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
18219
18220     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
18221     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
18222
18223     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
18224     void onfocusin([in] IHTMLEventObj* pEvtObj);
18225
18226     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
18227     void onfocusout([in] IHTMLEventObj* pEvtObj);
18228
18229     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
18230     void onmove([in] IHTMLEventObj* pEvtObj);
18231
18232     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
18233     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
18234
18235     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
18236     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
18237
18238     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
18239     void onmoveend([in] IHTMLEventObj* pEvtObj);
18240
18241     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
18242     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
18243
18244     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
18245     void onresizeend([in] IHTMLEventObj* pEvtObj);
18246
18247     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
18248     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
18249 };
18250
18251 /*****************************************************************************
18252  *    IHTMLTableCaption interface
18253  */
18254 [
18255     odl,
18256     oleautomation,
18257     dual,
18258     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
18259 ]
18260 interface IHTMLTableCaption : IDispatch
18261 {
18262     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
18263     HRESULT align([in] BSTR v);
18264
18265     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
18266     HRESULT align([retval, out] BSTR *p);
18267
18268     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
18269     HRESULT vAlign([in] BSTR v);
18270
18271     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
18272     HRESULT vAlign([retval, out] BSTR *p);
18273 }
18274
18275 interface IHTMLTableSection;
18276
18277 /*****************************************************************************
18278  *    IHTMLTable interface
18279  */
18280 [
18281     odl,
18282     oleautomation,
18283     dual,
18284     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
18285 ]
18286 interface IHTMLTable : IDispatch
18287 {
18288     [propput, id(DISPID_IHTMLTABLE_COLS)]
18289     HRESULT cols([in] LONG v);
18290
18291     [propget, id(DISPID_IHTMLTABLE_COLS)]
18292     HRESULT cols([retval, out] LONG *p);
18293
18294     [propput, id(DISPID_IHTMLTABLE_BORDER)]
18295     HRESULT border([in] VARIANT v);
18296
18297     [propget, id(DISPID_IHTMLTABLE_BORDER)]
18298     HRESULT border([retval, out] VARIANT *p);
18299
18300     [propput, id(DISPID_IHTMLTABLE_FRAME)]
18301     HRESULT frame([in] BSTR v);
18302
18303     [propget, id(DISPID_IHTMLTABLE_FRAME)]
18304     HRESULT frame([retval, out] BSTR *p);
18305
18306     [propput, id(DISPID_IHTMLTABLE_RULES)]
18307     HRESULT rules([in] BSTR v);
18308
18309     [propget, id(DISPID_IHTMLTABLE_RULES)]
18310     HRESULT rules([retval, out] BSTR *p);
18311
18312     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
18313     HRESULT cellSpacing([in] VARIANT v);
18314
18315     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
18316     HRESULT cellSpacing([retval, out] VARIANT *p);
18317
18318     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
18319     HRESULT cellPadding([in] VARIANT v);
18320
18321     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
18322     HRESULT cellPadding([retval, out] VARIANT *p);
18323
18324     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
18325     HRESULT background([in] BSTR v);
18326
18327     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
18328     HRESULT background([retval, out] BSTR *p);
18329
18330     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
18331     HRESULT bgColor([in] VARIANT v);
18332
18333     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
18334     HRESULT bgColor([retval, out] VARIANT *p);
18335
18336     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18337     HRESULT borderColor([in] VARIANT v);
18338
18339     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18340     HRESULT borderColor([retval, out] VARIANT *p);
18341
18342     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18343     HRESULT borderColorLight([in] VARIANT v);
18344
18345     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18346     HRESULT borderColorLight([retval, out] VARIANT *p);
18347
18348     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18349     HRESULT borderColorDark([in] VARIANT v);
18350
18351     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18352     HRESULT borderColorDark([retval, out] VARIANT *p);
18353
18354     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
18355     HRESULT align([in] BSTR v);
18356
18357     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
18358     HRESULT align([retval, out] BSTR * p);
18359
18360     [id(DISPID_IHTMLTABLE_REFRESH)]
18361     HRESULT refresh();
18362
18363     [propget, id(DISPID_IHTMLTABLE_ROWS)]
18364     HRESULT rows([retval, out] IHTMLElementCollection **p);
18365
18366     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
18367     HRESULT width([in] VARIANT v);
18368
18369     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
18370     HRESULT width([retval, out] VARIANT *p);
18371
18372     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
18373     HRESULT height([in] VARIANT v);
18374
18375     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
18376     HRESULT height([retval, out] VARIANT *p);
18377
18378     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18379     HRESULT dataPageSize([in] LONG v);
18380
18381     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18382     HRESULT dataPageSize([retval, out] LONG *p);
18383
18384     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
18385     HRESULT nextPage();
18386
18387     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
18388     HRESULT previousPage();
18389
18390     [propget, id(DISPID_IHTMLTABLE_THEAD)]
18391     HRESULT tHead([retval, out] IHTMLTableSection **p);
18392
18393     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
18394     HRESULT tFoot([retval, out] IHTMLTableSection **p);
18395
18396     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
18397     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
18398
18399     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
18400     HRESULT caption([retval, out] IHTMLTableCaption **p);
18401
18402     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
18403     HRESULT createTHead([retval, out] IDispatch **head);
18404
18405     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
18406     HRESULT deleteTHead();
18407
18408     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
18409     HRESULT createTFoot([retval, out] IDispatch **foot);
18410
18411     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
18412     HRESULT deleteTFoot();
18413
18414     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
18415     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
18416
18417     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
18418     HRESULT deleteCaption();
18419
18420     [id(DISPID_IHTMLTABLE_INSERTROW)]
18421     HRESULT insertRow(
18422             [defaultvalue(-1), in] LONG index,
18423             [retval, out] IDispatch **row);
18424
18425     [id(DISPID_IHTMLTABLE_DELETEROW)]
18426     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
18427
18428     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
18429     HRESULT readyState([retval, out] BSTR *p);
18430
18431     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
18432     HRESULT onreadystatechange([in] VARIANT v);
18433
18434     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
18435     HRESULT onreadystatechange([retval, out] VARIANT *p);
18436 }
18437
18438 [
18439     odl,
18440     oleautomation,
18441     dual,
18442     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
18443 ]
18444 interface IHTMLTable2 : IDispatch
18445 {
18446     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
18447     HRESULT firstPage();
18448
18449     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
18450     HRESULT lastPage();
18451
18452     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
18453     HRESULT cells([retval, out] IHTMLElementCollection* * p);
18454
18455     [id(DISPID_IHTMLTABLE2_MOVEROW)]
18456     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
18457         [defaultvalue(-1), in] LONG indexTo,
18458         [retval, out] IDispatch** row);
18459 };
18460
18461 [
18462     odl,
18463     oleautomation,
18464     dual,
18465     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
18466 ]
18467 interface IHTMLTable3 : IDispatch
18468 {
18469     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18470     HRESULT summary([in] BSTR v);
18471
18472     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18473     HRESULT summary([retval, out] BSTR * p);
18474 };
18475
18476 [
18477     noncreatable,
18478     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
18479 ]
18480 coclass HTMLTable
18481 {
18482     [default]           dispinterface DispHTMLTable;
18483     [source, default]   dispinterface HTMLTableEvents;
18484     [source]            dispinterface HTMLTableEvents2;
18485                         interface IHTMLElement;
18486                         interface IHTMLElement2;
18487                         interface IHTMLElement3;
18488                         interface IHTMLElement4;
18489                         interface IHTMLUniqueName;
18490                         interface IHTMLDOMNode;
18491                         interface IHTMLDOMNode2;
18492                         interface IHTMLDatabinding;
18493                         interface IHTMLControlElement;
18494                         interface IHTMLTable;
18495                         interface IHTMLTable2;
18496                         interface IHTMLTable3;
18497 };
18498
18499 [
18500     odl,
18501     oleautomation,
18502     dual,
18503     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
18504 ]
18505 interface IHTMLTableSection : IDispatch
18506 {
18507     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
18508     HRESULT align([in] BSTR v);
18509
18510     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
18511     HRESULT align([retval, out] BSTR *p);
18512
18513     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
18514     HRESULT vAlign([in] BSTR v);
18515
18516     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
18517     HRESULT vAlign([retval, out] BSTR *p);
18518
18519     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
18520     HRESULT bgColor([in] VARIANT v);
18521
18522     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
18523     HRESULT bgColor([retval, out] VARIANT *p);
18524
18525     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
18526     HRESULT rows([retval, out] IHTMLElementCollection **p);
18527
18528     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
18529     HRESULT insertRow(
18530             [defaultvalue(-1), in] LONG index,
18531             [retval, out] IDispatch **row);
18532
18533     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
18534     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
18535 }
18536
18537 /*****************************************************************************
18538  *    IHTMLTableRow interface
18539  */
18540 [
18541     odl,
18542     oleautomation,
18543     dual,
18544     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
18545 ]
18546 interface IHTMLTableRow : IDispatch
18547 {
18548     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
18549     HRESULT align([in] BSTR v);
18550
18551     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
18552     HRESULT align([out, retval] BSTR *p);
18553
18554     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
18555     HRESULT vAlign([in] BSTR v);
18556
18557     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
18558     HRESULT vAlign([out, retval] BSTR *p);
18559
18560     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
18561     HRESULT bgColor([in] VARIANT v);
18562
18563     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
18564     HRESULT bgColor([out, retval] VARIANT *p);
18565
18566     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
18567     HRESULT borderColor([in] VARIANT v);
18568
18569     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
18570     HRESULT borderColor([out, retval] VARIANT *p);
18571
18572     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
18573     HRESULT borderColorLight([in] VARIANT v);
18574
18575     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
18576     HRESULT borderColorLight([out, retval] VARIANT *p);
18577
18578     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
18579     HRESULT borderColorDark([in] VARIANT v);
18580
18581     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
18582     HRESULT borderColorDark([out, retval] VARIANT *p);
18583
18584     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
18585     HRESULT rowIndex([out, retval] LONG *p);
18586
18587     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
18588     HRESULT sectionRowIndex([out, retval] LONG *p);
18589
18590     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
18591     HRESULT cells([out, retval] IHTMLElementCollection **p);
18592
18593     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
18594     HRESULT insertCell(
18595             [in, defaultvalue(-1)] LONG index,
18596             [out, retval] IDispatch **row);
18597
18598     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
18599     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
18600 }
18601
18602 /*****************************************************************************
18603  *    DispHTMLTable interface
18604  */
18605 [
18606     hidden,
18607     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
18608 ]
18609 dispinterface DispHTMLTable
18610 {
18611 properties:
18612 methods:
18613     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
18614     void setAttribute(
18615             [in] BSTR strAttributeName,
18616             [in] VARIANT AttributeValue,
18617             [in, defaultvalue(1)] LONG lFlags);
18618
18619     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
18620     VARIANT getAttribute(
18621              [in] BSTR strAttributeName,
18622              [in, defaultvalue(0)] LONG lFlags);
18623
18624     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
18625     VARIANT_BOOL removeAttribute(
18626             [in] BSTR strAttributeName,
18627             [in, defaultvalue(1)] LONG lFlags);
18628
18629     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18630     void className(BSTR v);
18631
18632     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
18633     BSTR className();
18634
18635     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
18636     void id(BSTR v);
18637
18638     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
18639     BSTR id();
18640
18641     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
18642     BSTR tagName();
18643
18644     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
18645     IHTMLElement *parentElement();
18646
18647     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
18648     IHTMLStyle *style();
18649
18650     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18651     void onhelp(VARIANT v);
18652
18653     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
18654     VARIANT onhelp();
18655
18656     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18657     void onclick(VARIANT v);
18658
18659     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
18660     VARIANT onclick();
18661
18662     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18663     void ondblclick(VARIANT v);
18664
18665     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
18666     VARIANT ondblclick();
18667
18668     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18669     void onkeydown(VARIANT v);
18670
18671     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
18672     VARIANT onkeydown();
18673
18674     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18675     void onkeyup(VARIANT v);
18676
18677     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
18678     VARIANT onkeyup();
18679
18680     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18681     void onkeypress(VARIANT v);
18682
18683     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
18684     VARIANT onkeypress();
18685
18686     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18687     void onmouseout(VARIANT v);
18688
18689     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
18690     VARIANT onmouseout();
18691
18692     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18693     void onmouseover(VARIANT v);
18694
18695     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
18696     VARIANT onmouseover();
18697
18698     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18699     void onmousemove(VARIANT v);
18700
18701     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
18702     VARIANT onmousemove();
18703
18704     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18705     void onmousedown(VARIANT v);
18706
18707     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
18708     VARIANT onmousedown();
18709
18710     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18711     void onmouseup(VARIANT v);
18712
18713     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
18714     VARIANT onmouseup();
18715
18716     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
18717     IDispatch *document();
18718
18719     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18720     void title(BSTR v);
18721
18722     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
18723     BSTR title();
18724
18725     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18726     void language(BSTR v);
18727
18728     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
18729     BSTR language();
18730
18731     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18732     void onselectstart(VARIANT v);
18733
18734     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
18735     VARIANT onselectstart();
18736
18737     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
18738     void scrollIntoView([in, optional] VARIANT varargStart);
18739
18740     [id(DISPID_IHTMLELEMENT_CONTAINS)]
18741     VARIANT_BOOL contains([in] IHTMLElement *pChild);
18742
18743     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
18744     LONG sourceIndex();
18745
18746     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
18747     VARIANT recordNumber();
18748
18749     [propput, id(DISPID_IHTMLELEMENT_LANG)]
18750     void lang(BSTR v);
18751
18752     [propget, id(DISPID_IHTMLELEMENT_LANG)]
18753     BSTR lang();
18754
18755     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
18756     LONG offsetLeft();
18757
18758     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
18759     LONG offsetTop();
18760
18761     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
18762     LONG offsetWidth();
18763
18764     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
18765     LONG offsetHeight();
18766
18767     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
18768     IHTMLElement *offsetParent();
18769
18770     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
18771     void innerHTML(BSTR v);
18772
18773     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
18774     BSTR innerHTML();
18775
18776     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18777     void innerText(BSTR v);
18778
18779     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
18780     BSTR innerText();
18781
18782     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18783     void outerHTML(BSTR v);
18784
18785     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
18786     BSTR outerHTML();
18787
18788     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18789     void outerText(BSTR v);
18790
18791     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
18792     BSTR outerText();
18793
18794     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
18795     void insertAdjacentHTML(
18796             [in] BSTR where,
18797             [in] BSTR html);
18798
18799     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
18800     void insertAdjacentText(
18801             [in] BSTR where,
18802             [in] BSTR text);
18803
18804     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
18805     IHTMLElement *parentTextEdit();
18806
18807     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
18808     VARIANT_BOOL isTextEdit();
18809
18810     [id(DISPID_IHTMLELEMENT_CLICK)]
18811     void click();
18812
18813     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
18814     IHTMLFiltersCollection *filters();
18815
18816     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18817     void ondragstart(VARIANT v);
18818
18819     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
18820     VARIANT ondragstart();
18821
18822     [id(DISPID_IHTMLELEMENT_TOSTRING)]
18823     BSTR toString();
18824
18825     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18826     void onbeforeupdate(VARIANT v);
18827
18828     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
18829     VARIANT onbeforeupdate();
18830
18831     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18832     void onafterupdate(VARIANT v);
18833
18834     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
18835     VARIANT onafterupdate();
18836
18837     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18838     void onerrorupdate(VARIANT v);
18839
18840     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
18841     VARIANT onerrorupdate();
18842
18843     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18844     void onrowexit(VARIANT v);
18845
18846     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
18847     VARIANT onrowexit();
18848
18849     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18850     void onrowenter(VARIANT v);
18851
18852     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
18853     VARIANT onrowenter();
18854
18855     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18856     void ondatasetchanged(VARIANT v);
18857
18858     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
18859     VARIANT ondatasetchanged();
18860
18861     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18862     void ondataavailable(VARIANT v);
18863
18864     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
18865     VARIANT ondataavailable();
18866
18867     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18868     void ondatasetcomplete(VARIANT v);
18869
18870     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
18871     VARIANT ondatasetcomplete();
18872
18873     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18874     void onfilterchange(VARIANT v);
18875
18876     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
18877     VARIANT onfilterchange();
18878
18879     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
18880     IDispatch *children();
18881
18882     [propget, id(DISPID_IHTMLELEMENT_ALL)]
18883     IDispatch *all();
18884
18885     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
18886     BSTR scopeName();
18887
18888     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
18889     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
18890
18891     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
18892     void releaseCapture();
18893
18894     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
18895     void onlosecapture(VARIANT v);
18896
18897     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
18898     VARIANT onlosecapture();
18899
18900     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
18901     BSTR componentFromPoint(
18902             [in] LONG x,
18903             [in] LONG y);
18904
18905     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
18906     void doScroll([in, optional] VARIANT component);
18907
18908     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
18909     void onscroll(VARIANT v);
18910
18911     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
18912     VARIANT onscroll();
18913
18914     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
18915     void ondrag(VARIANT v);
18916
18917     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
18918     VARIANT ondrag();
18919
18920     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
18921     void ondragend(VARIANT v);
18922
18923     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
18924     VARIANT ondragend();
18925
18926     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
18927     void ondragenter(VARIANT v);
18928
18929     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
18930     VARIANT ondragenter();
18931
18932     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
18933     void ondragover(VARIANT v);
18934
18935     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
18936     VARIANT ondragover();
18937
18938     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
18939     void ondragleave(VARIANT v);
18940
18941     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
18942     VARIANT ondragleave();
18943
18944     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
18945     void ondrop(VARIANT v);
18946
18947     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
18948     VARIANT ondrop();
18949
18950     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
18951     void onbeforecut(VARIANT v);
18952
18953     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
18954     VARIANT onbeforecut();
18955
18956     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
18957     void oncut(VARIANT v);
18958
18959     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
18960     VARIANT oncut();
18961
18962     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
18963     void onbeforecopy(VARIANT v);
18964
18965     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
18966     VARIANT onbeforecopy();
18967
18968     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
18969     void oncopy(VARIANT v);
18970
18971     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
18972     VARIANT oncopy();
18973
18974     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
18975     void onbeforepaste(VARIANT v);
18976
18977     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
18978     VARIANT onbeforepaste();
18979
18980     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
18981     void onpaste(VARIANT v);
18982
18983     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
18984     VARIANT onpaste();
18985
18986     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
18987     IHTMLCurrentStyle *currentStyle();
18988
18989     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
18990     void onpropertychange(VARIANT v);
18991
18992     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
18993     VARIANT onpropertychange();
18994
18995     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
18996     IHTMLRectCollection *getClientRects();
18997
18998     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
18999     IHTMLRect *getBoundingClientRect();
19000
19001     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
19002     void setExpression(
19003             [in] BSTR propname,
19004             [in] BSTR expression,
19005             [in, defaultvalue("")] BSTR language);
19006
19007     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
19008     VARIANT getExpression([in] BSTR propname);
19009
19010     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
19011     VARIANT_BOOL removeExpression([in] BSTR propname);
19012
19013     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19014     void tabIndex(short v);
19015
19016     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19017     short tabIndex();
19018
19019     [id(DISPID_IHTMLELEMENT2_FOCUS)]
19020     void focus();
19021
19022     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19023     void accessKey(BSTR v);
19024
19025     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19026     BSTR accessKey();
19027
19028     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19029     void onblur(VARIANT v);
19030
19031     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19032     VARIANT onblur();
19033
19034     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19035     void onfocus(VARIANT v);
19036
19037     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19038     VARIANT onfocus();
19039
19040     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19041     void onresize(VARIANT v);
19042
19043     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19044     VARIANT onresize();
19045
19046     [id(DISPID_IHTMLELEMENT2_BLUR)]
19047     void blur();
19048
19049     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
19050     void addFilter([in] IUnknown *pUnk);
19051
19052     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
19053     void removeFilter([in] IUnknown *pUnk);
19054
19055     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
19056     LONG clientHeight();
19057
19058     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
19059     LONG clientWidth();
19060
19061     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
19062     LONG clientTop();
19063
19064     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
19065     LONG clientLeft();
19066
19067     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
19068     VARIANT_BOOL attachEvent(
19069             [in] BSTR event,
19070             [in] IDispatch *pDisp);
19071
19072     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
19073     void detachEvent(
19074             [in] BSTR event,
19075             [in] IDispatch *pDisp);
19076
19077     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
19078     VARIANT readyState();
19079
19080     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19081     void onreadystatechange(VARIANT v);
19082
19083     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19084     VARIANT onreadystatechange();
19085
19086     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19087     void onrowsdelete(VARIANT v);
19088
19089     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19090     VARIANT onrowsdelete();
19091
19092     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19093     void onrowsinserted(VARIANT v);
19094
19095     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19096     VARIANT onrowsinserted();
19097
19098     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19099      void oncellchange(VARIANT v);
19100
19101     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19102     VARIANT oncellchange();
19103
19104     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19105     void dir(BSTR v);
19106
19107     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19108     BSTR dir();
19109
19110     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
19111     IDispatch *createControlRange();
19112
19113     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
19114     LONG scrollHeight();
19115
19116     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
19117     LONG scrollWidth();
19118
19119     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19120     void scrollTop(LONG v);
19121
19122     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19123     LONG scrollTop();
19124
19125     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19126     void scrollLeft(LONG v);
19127
19128     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19129     LONG scrollLeft();
19130
19131     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
19132     void clearAttributes();
19133
19134     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19135     void oncontextmenu(VARIANT v);
19136
19137     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19138     VARIANT oncontextmenu();
19139
19140     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
19141     IHTMLElement *insertAdjacentElement(
19142             [in] BSTR where,
19143             [in] IHTMLElement *insertedElement);
19144
19145     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
19146     IHTMLElement *applyElement(
19147             [in] IHTMLElement *apply,
19148             [in] BSTR where);
19149
19150     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
19151     BSTR getAdjacentText([in] BSTR where);
19152
19153     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
19154     BSTR replaceAdjacentText(
19155             [in] BSTR where,
19156             [in] BSTR newText);
19157
19158     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
19159     VARIANT_BOOL canHaveChildren();
19160
19161     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
19162     LONG addBehavior(
19163             [in] BSTR bstrUrl,
19164             [in, optional] VARIANT *pvarFactory);
19165
19166     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
19167     VARIANT_BOOL removeBehavior([in] LONG cookie);
19168
19169     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
19170     IHTMLStyle *runtimeStyle();
19171
19172     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
19173     IDispatch *behaviorUrns();
19174
19175     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
19176     void tagUrn(BSTR v);
19177
19178     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
19179     BSTR tagUrn();
19180
19181     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19182     void onbeforeeditfocus(VARIANT v);
19183
19184     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19185     VARIANT onbeforeeditfocus();
19186
19187     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
19188     LONG readyStateValue();
19189
19190     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
19191     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
19192
19193     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
19194     void mergeAttributes(
19195             [in] IHTMLElement *mergeThis,
19196             [in, optional] VARIANT *pvarFlags);
19197
19198     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
19199     VARIANT_BOOL isMultiLine();
19200
19201     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
19202     VARIANT_BOOL canHaveHTML();
19203
19204     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19205     void onlayoutcomplete(VARIANT v);
19206
19207     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19208     VARIANT onlayoutcomplete();
19209
19210     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19211     void onpage(VARIANT v);
19212
19213     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19214     VARIANT onpage();
19215
19216     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19217     void inflateBlock(VARIANT_BOOL v);
19218
19219     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19220     VARIANT_BOOL inflateBlock();
19221
19222     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19223     void onbeforedeactivate(VARIANT v);
19224
19225     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19226     VARIANT onbeforedeactivate();
19227
19228     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
19229     void setActive();
19230
19231     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19232     void contentEditable(BSTR v);
19233
19234     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19235     BSTR contentEditable();
19236
19237     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
19238     VARIANT_BOOL isContentEditable();
19239
19240     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19241     void hideFocus(VARIANT_BOOL v);
19242
19243     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19244     VARIANT_BOOL hideFocus();
19245
19246     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19247     void disabled(VARIANT_BOOL v);
19248
19249     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19250     VARIANT_BOOL disabled();
19251
19252     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
19253     VARIANT_BOOL isDisabled();
19254
19255     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19256     void onmove(VARIANT v);
19257
19258     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19259     VARIANT onmove();
19260
19261     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19262     void oncontrolselect(VARIANT v);
19263
19264     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19265     VARIANT oncontrolselect();
19266
19267     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
19268     VARIANT_BOOL fireEvent(
19269             [in] BSTR bstrEventName,
19270             [in, optional] VARIANT *pvarEventObject);
19271
19272     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19273     void onresizestart(VARIANT v);
19274
19275     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19276     VARIANT onresizestart();
19277
19278     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19279     void onresizeend(VARIANT v);
19280
19281     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19282     VARIANT onresizeend();
19283
19284     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19285     void onmovestart(VARIANT v);
19286
19287     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19288     VARIANT onmovestart();
19289
19290     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19291     void onmoveend(VARIANT v);
19292
19293     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19294     VARIANT onmoveend();
19295
19296     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19297     void onmouseenter(VARIANT v);
19298
19299     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19300     VARIANT onmouseenter();
19301
19302     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19303     void onmouseleave(VARIANT v);
19304
19305     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19306     VARIANT onmouseleave();
19307
19308     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19309     void onactivate(VARIANT v);
19310
19311     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19312     VARIANT onactivate();
19313
19314     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19315     void ondeactivate(VARIANT v);
19316
19317     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19318     VARIANT ondeactivate();
19319
19320     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
19321     VARIANT_BOOL dragDrop();
19322
19323     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
19324     LONG glyphMode();
19325
19326     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19327     void onmousewheel(VARIANT v);
19328
19329     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19330     VARIANT onmousewheel();
19331
19332     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
19333     void normalize();
19334
19335     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
19336     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
19337
19338     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
19339     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
19340
19341     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
19342     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
19343
19344     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19345     void onbeforeactivate(VARIANT v);
19346
19347     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19348     VARIANT onbeforeactivate();
19349
19350     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19351     void onfocusin(VARIANT v);
19352
19353     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19354     VARIANT onfocusin();
19355
19356     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19357     void onfocusout(VARIANT v);
19358
19359     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19360     VARIANT onfocusout();
19361
19362     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
19363     LONG uniqueNumber();
19364
19365     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
19366     BSTR uniqueID();
19367
19368     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
19369     LONG nodeType();
19370
19371     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
19372     IHTMLDOMNode *parentNode();
19373
19374     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
19375     VARIANT_BOOL hasChildNodes();
19376
19377     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
19378     IDispatch *childNodes();
19379
19380     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
19381     IDispatch *attributes();
19382
19383     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
19384     IHTMLDOMNode *insertBefore(
19385             [in] IHTMLDOMNode *newChild,
19386             [in, optional] VARIANT refChild);
19387
19388     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
19389     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
19390
19391     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
19392     IHTMLDOMNode *replaceChild(
19393             [in] IHTMLDOMNode *newChild,
19394             [in] IHTMLDOMNode *oldChild);
19395
19396     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
19397     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
19398
19399     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
19400     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
19401
19402     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
19403     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
19404
19405     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
19406     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
19407
19408     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
19409     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
19410
19411     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
19412     BSTR nodeName();
19413
19414     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19415     void nodeValue(VARIANT v);
19416
19417     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19418     VARIANT nodeValue();
19419
19420     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
19421     IHTMLDOMNode *firstChild();
19422
19423     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
19424     IHTMLDOMNode *lastChild();
19425
19426     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
19427     IHTMLDOMNode *previousSibling();
19428
19429     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
19430     IHTMLDOMNode *nextSibling();
19431
19432     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
19433     IDispatch *ownerDocument();
19434
19435     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
19436     void dataFld(BSTR v);
19437
19438     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
19439     BSTR dataFld();
19440
19441     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
19442     void dataSrc(BSTR v);
19443
19444     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
19445     BSTR dataSrc();
19446
19447     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
19448     void dataFormatAs(BSTR v);
19449
19450     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
19451     BSTR dataFormatAs();
19452
19453     [propput, id(DISPID_IHTMLTABLE_COLS)]
19454     void cols(LONG v);
19455
19456     [propget, id(DISPID_IHTMLTABLE_COLS)]
19457     LONG cols();
19458
19459     [propput, id(DISPID_IHTMLTABLE_BORDER)]
19460     void border(VARIANT v);
19461
19462     [propget, id(DISPID_IHTMLTABLE_BORDER)]
19463     VARIANT border();
19464
19465     [propput, id(DISPID_IHTMLTABLE_FRAME)]
19466     void frame(BSTR v);
19467
19468     [propget, id(DISPID_IHTMLTABLE_FRAME)]
19469     BSTR frame();
19470
19471     [propput, id(DISPID_IHTMLTABLE_RULES)]
19472     void rules(BSTR v);
19473
19474     [propget, id(DISPID_IHTMLTABLE_RULES)]
19475     BSTR rules();
19476
19477     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
19478     void cellSpacing(VARIANT v);
19479
19480     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
19481     VARIANT cellSpacing();
19482
19483     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
19484     void cellPadding(VARIANT v);
19485
19486     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
19487     VARIANT cellPadding();
19488
19489     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
19490     void background(BSTR v);
19491
19492     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
19493     BSTR background();
19494
19495     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
19496     void bgColor(VARIANT v);
19497
19498     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
19499     VARIANT bgColor();
19500
19501     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
19502     void borderColor(VARIANT v);
19503
19504     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
19505     VARIANT borderColor();
19506
19507     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
19508     void borderColorLight(VARIANT v);
19509
19510     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
19511     VARIANT borderColorLight();
19512
19513     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
19514     void borderColorDark(VARIANT v);
19515
19516     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
19517     VARIANT borderColorDark();
19518
19519     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
19520     void align(BSTR v);
19521
19522     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
19523     BSTR align();
19524
19525     [id(DISPID_IHTMLTABLE_REFRESH)]
19526     void refresh();
19527
19528     [propget, id(DISPID_IHTMLTABLE_ROWS)]
19529     IHTMLElementCollection *rows();
19530
19531     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
19532     void width(VARIANT v);
19533
19534     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
19535     VARIANT width();
19536
19537     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
19538     void height(VARIANT v);
19539
19540     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
19541     VARIANT height();
19542
19543     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
19544     void dataPageSize(LONG v);
19545
19546     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
19547     LONG dataPageSize();
19548
19549     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
19550     void nextPage();
19551
19552     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
19553     void previousPage();
19554
19555     [propget, id(DISPID_IHTMLTABLE_THEAD)]
19556     IHTMLTableSection *tHead();
19557
19558     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
19559     IHTMLTableSection *tFoot();
19560
19561     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
19562     IHTMLElementCollection *tBodies();
19563
19564     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
19565     IHTMLTableCaption *caption();
19566
19567     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
19568     IDispatch *createTHead();
19569
19570     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
19571     void deleteTHead();
19572
19573     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
19574     IDispatch *createTFoot();
19575
19576     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
19577     void deleteTFoot();
19578
19579     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
19580     IHTMLTableCaption *createCaption();
19581
19582     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
19583     void deleteCaption();
19584
19585     [id(DISPID_IHTMLTABLE_INSERTROW)]
19586     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
19587
19588     [id(DISPID_IHTMLTABLE_DELETEROW)]
19589     void deleteRow([in, defaultvalue(-1)] LONG index);
19590
19591     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
19592     void firstPage();
19593
19594     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
19595     void lastPage();
19596
19597     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
19598     IHTMLElementCollection *cells();
19599
19600     [id(DISPID_IHTMLTABLE2_MOVEROW)]
19601     IDispatch *moveRow(
19602             [in, defaultvalue(-1)] LONG indexFrom,
19603             [in, defaultvalue(-1)] LONG indexTo);
19604
19605     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
19606     void summary(BSTR v);
19607
19608     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
19609     BSTR summary();
19610 }
19611
19612 /*****************************************************************************
19613  *    DispHTMLTableRow dispinterface
19614  */
19615 [
19616     hidden,
19617     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
19618 ]
19619 dispinterface DispHTMLTableRow
19620 {
19621 properties:
19622 methods:
19623     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
19624     void setAttribute(
19625             [in] BSTR strAttributeName,
19626             [in] VARIANT AttributeValue,
19627             [in, defaultvalue(1)] LONG lFlags);
19628
19629     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
19630     VARIANT getAttribute(
19631              [in] BSTR strAttributeName,
19632              [in, defaultvalue(0)] LONG lFlags);
19633
19634     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
19635     VARIANT_BOOL removeAttribute(
19636             [in] BSTR strAttributeName,
19637             [in, defaultvalue(1)] LONG lFlags);
19638
19639     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19640     void className(BSTR v);
19641
19642     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19643     BSTR className();
19644
19645     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
19646     void id(BSTR v);
19647
19648     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
19649     BSTR id();
19650
19651     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
19652     BSTR tagName();
19653
19654     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
19655     IHTMLElement *parentElement();
19656
19657     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
19658     IHTMLStyle *style();
19659
19660     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19661     void onhelp(VARIANT v);
19662
19663     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19664     VARIANT onhelp();
19665
19666     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19667     void onclick(VARIANT v);
19668
19669     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19670     VARIANT onclick();
19671
19672     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19673     void ondblclick(VARIANT v);
19674
19675     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19676     VARIANT ondblclick();
19677
19678     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19679     void onkeydown(VARIANT v);
19680
19681     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19682     VARIANT onkeydown();
19683
19684     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19685     void onkeyup(VARIANT v);
19686
19687     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19688     VARIANT onkeyup();
19689
19690     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19691     void onkeypress(VARIANT v);
19692
19693     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19694     VARIANT onkeypress();
19695
19696     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19697     void onmouseout(VARIANT v);
19698
19699     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19700     VARIANT onmouseout();
19701
19702     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19703     void onmouseover(VARIANT v);
19704
19705     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19706     VARIANT onmouseover();
19707
19708     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19709     void onmousemove(VARIANT v);
19710
19711     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19712     VARIANT onmousemove();
19713
19714     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19715     void onmousedown(VARIANT v);
19716
19717     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19718     VARIANT onmousedown();
19719
19720     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19721     void onmouseup(VARIANT v);
19722
19723     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19724     VARIANT onmouseup();
19725
19726     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
19727     IDispatch *document();
19728
19729     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19730     void title(BSTR v);
19731
19732     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19733     BSTR title();
19734
19735     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19736     void language(BSTR v);
19737
19738     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19739     BSTR language();
19740
19741     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19742     void onselectstart(VARIANT v);
19743
19744     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19745     VARIANT onselectstart();
19746
19747     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
19748     void scrollIntoView([in, optional] VARIANT varargStart);
19749
19750     [id(DISPID_IHTMLELEMENT_CONTAINS)]
19751     VARIANT_BOOL contains([in] IHTMLElement *pChild);
19752
19753     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
19754     LONG sourceIndex();
19755
19756     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
19757     VARIANT recordNumber();
19758
19759     [propput, id(DISPID_IHTMLELEMENT_LANG)]
19760     void lang(BSTR v);
19761
19762     [propget, id(DISPID_IHTMLELEMENT_LANG)]
19763     BSTR lang();
19764
19765     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
19766     LONG offsetLeft();
19767
19768     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
19769     LONG offsetTop();
19770
19771     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
19772     LONG offsetWidth();
19773
19774     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
19775     LONG offsetHeight();
19776
19777     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
19778     IHTMLElement *offsetParent();
19779
19780     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
19781     void innerHTML(BSTR v);
19782
19783     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
19784     BSTR innerHTML();
19785
19786     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19787     void innerText(BSTR v);
19788
19789     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19790     BSTR innerText();
19791
19792     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19793     void outerHTML(BSTR v);
19794
19795     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19796     BSTR outerHTML();
19797
19798     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19799     void outerText(BSTR v);
19800
19801     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19802     BSTR outerText();
19803
19804     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
19805     void insertAdjacentHTML(
19806             [in] BSTR where,
19807             [in] BSTR html);
19808
19809     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
19810     void insertAdjacentText(
19811             [in] BSTR where,
19812             [in] BSTR text);
19813
19814     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
19815     IHTMLElement *parentTextEdit();
19816
19817     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
19818     VARIANT_BOOL isTextEdit();
19819
19820     [id(DISPID_IHTMLELEMENT_CLICK)]
19821     void click();
19822
19823     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
19824     IHTMLFiltersCollection *filters();
19825
19826     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19827     void ondragstart(VARIANT v);
19828
19829     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19830     VARIANT ondragstart();
19831
19832     [id(DISPID_IHTMLELEMENT_TOSTRING)]
19833     BSTR toString();
19834
19835     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19836     void onbeforeupdate(VARIANT v);
19837
19838     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19839     VARIANT onbeforeupdate();
19840
19841     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19842     void onafterupdate(VARIANT v);
19843
19844     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19845     VARIANT onafterupdate();
19846
19847     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19848     void onerrorupdate(VARIANT v);
19849
19850     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19851     VARIANT onerrorupdate();
19852
19853     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19854     void onrowexit(VARIANT v);
19855
19856     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19857     VARIANT onrowexit();
19858
19859     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19860     void onrowenter(VARIANT v);
19861
19862     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19863     VARIANT onrowenter();
19864
19865     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19866     void ondatasetchanged(VARIANT v);
19867
19868     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19869     VARIANT ondatasetchanged();
19870
19871     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19872     void ondataavailable(VARIANT v);
19873
19874     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19875     VARIANT ondataavailable();
19876
19877     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19878     void ondatasetcomplete(VARIANT v);
19879
19880     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19881     VARIANT ondatasetcomplete();
19882
19883     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19884     void onfilterchange(VARIANT v);
19885
19886     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19887     VARIANT onfilterchange();
19888
19889     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
19890     IDispatch *children();
19891
19892     [propget, id(DISPID_IHTMLELEMENT_ALL)]
19893     IDispatch *all();
19894
19895     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
19896     BSTR scopeName();
19897
19898     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
19899     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
19900
19901     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
19902     void releaseCapture();
19903
19904     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19905     void onlosecapture(VARIANT v);
19906
19907     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19908     VARIANT onlosecapture();
19909
19910     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
19911     BSTR componentFromPoint(
19912             [in] LONG x,
19913             [in] LONG y);
19914
19915     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
19916     void doScroll([in, optional] VARIANT component);
19917
19918     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19919     void onscroll(VARIANT v);
19920
19921     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19922     VARIANT onscroll();
19923
19924     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19925     void ondrag(VARIANT v);
19926
19927     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19928     VARIANT ondrag();
19929
19930     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19931     void ondragend(VARIANT v);
19932
19933     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19934     VARIANT ondragend();
19935
19936     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19937     void ondragenter(VARIANT v);
19938
19939     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19940     VARIANT ondragenter();
19941
19942     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19943     void ondragover(VARIANT v);
19944
19945     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19946     VARIANT ondragover();
19947
19948     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19949     void ondragleave(VARIANT v);
19950
19951     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19952     VARIANT ondragleave();
19953
19954     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19955     void ondrop(VARIANT v);
19956
19957     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19958     VARIANT ondrop();
19959
19960     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19961     void onbeforecut(VARIANT v);
19962
19963     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19964     VARIANT onbeforecut();
19965
19966     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19967     void oncut(VARIANT v);
19968
19969     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19970     VARIANT oncut();
19971
19972     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19973     void onbeforecopy(VARIANT v);
19974
19975     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19976     VARIANT onbeforecopy();
19977
19978     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19979     void oncopy(VARIANT v);
19980
19981     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19982     VARIANT oncopy();
19983
19984     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19985     void onbeforepaste(VARIANT v);
19986
19987     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19988     VARIANT onbeforepaste();
19989
19990     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19991     void onpaste(VARIANT v);
19992
19993     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19994     VARIANT onpaste();
19995
19996     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
19997     IHTMLCurrentStyle *currentStyle();
19998
19999     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
20000     void onpropertychange(VARIANT v);
20001
20002     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
20003     VARIANT onpropertychange();
20004
20005     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
20006     IHTMLRectCollection *getClientRects();
20007
20008     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
20009     IHTMLRect *getBoundingClientRect();
20010
20011     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
20012     void setExpression(
20013             [in] BSTR propname,
20014             [in] BSTR expression,
20015             [in, defaultvalue("")] BSTR language);
20016
20017     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
20018     VARIANT getExpression([in] BSTR propname);
20019
20020     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
20021     VARIANT_BOOL removeExpression([in] BSTR propname);
20022
20023     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
20024     void tabIndex(short v);
20025
20026     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
20027     short tabIndex();
20028
20029     [id(DISPID_IHTMLELEMENT2_FOCUS)]
20030     void focus();
20031
20032     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
20033     void accessKey(BSTR v);
20034
20035     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
20036     BSTR accessKey();
20037
20038     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
20039     void onblur(VARIANT v);
20040
20041     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
20042     VARIANT onblur();
20043
20044     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
20045     void onfocus(VARIANT v);
20046
20047     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
20048     VARIANT onfocus();
20049
20050     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
20051     void onresize(VARIANT v);
20052
20053     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
20054     VARIANT onresize();
20055
20056     [id(DISPID_IHTMLELEMENT2_BLUR)]
20057     void blur();
20058
20059     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
20060     void addFilter([in] IUnknown *pUnk);
20061
20062     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
20063     void removeFilter([in] IUnknown *pUnk);
20064
20065     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
20066     LONG clientHeight();
20067
20068     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
20069     LONG clientWidth();
20070
20071     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
20072     LONG clientTop();
20073
20074     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
20075     LONG clientLeft();
20076
20077     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
20078     VARIANT_BOOL attachEvent(
20079             [in] BSTR event,
20080             [in] IDispatch *pDisp);
20081
20082     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
20083     void detachEvent(
20084             [in] BSTR event,
20085             [in] IDispatch *pDisp);
20086
20087     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
20088     VARIANT readyState();
20089
20090     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
20091     void onreadystatechange(VARIANT v);
20092
20093     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
20094     VARIANT onreadystatechange();
20095
20096     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
20097     void onrowsdelete(VARIANT v);
20098
20099     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
20100     VARIANT onrowsdelete();
20101
20102     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
20103     void onrowsinserted(VARIANT v);
20104
20105     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
20106      VARIANT onrowsinserted();
20107
20108     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
20109      void oncellchange(VARIANT v);
20110
20111     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
20112     VARIANT oncellchange();
20113
20114     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
20115     void dir(BSTR v);
20116
20117     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
20118     BSTR dir();
20119
20120     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
20121     IDispatch *createControlRange();
20122
20123     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
20124     LONG scrollHeight();
20125
20126     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
20127     LONG scrollWidth();
20128
20129     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
20130     void scrollTop(LONG v);
20131
20132     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
20133     LONG scrollTop();
20134
20135     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
20136     void scrollLeft(LONG v);
20137
20138     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
20139     LONG scrollLeft();
20140
20141     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
20142     void clearAttributes();
20143
20144     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
20145     void oncontextmenu(VARIANT v);
20146
20147     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
20148     VARIANT oncontextmenu();
20149
20150     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
20151     IHTMLElement *insertAdjacentElement(
20152             [in] BSTR where,
20153             [in] IHTMLElement *insertedElement);
20154
20155     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
20156     IHTMLElement *applyElement(
20157             [in] IHTMLElement *apply,
20158             [in] BSTR where);
20159
20160     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
20161     BSTR getAdjacentText([in] BSTR where);
20162
20163     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
20164     BSTR replaceAdjacentText(
20165             [in] BSTR where,
20166             [in] BSTR newText);
20167
20168     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
20169     VARIANT_BOOL canHaveChildren();
20170
20171     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
20172     LONG addBehavior(
20173             [in] BSTR bstrUrl,
20174             [in, optional] VARIANT *pvarFactory);
20175
20176     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
20177     VARIANT_BOOL removeBehavior([in] LONG cookie);
20178
20179     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
20180     IHTMLStyle *runtimeStyle();
20181
20182     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
20183     IDispatch *behaviorUrns();
20184
20185     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
20186     void tagUrn(BSTR v);
20187
20188     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
20189     BSTR tagUrn();
20190
20191     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
20192     void onbeforeeditfocus(VARIANT v);
20193
20194     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
20195     VARIANT onbeforeeditfocus();
20196
20197     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
20198     LONG readyStateValue();
20199
20200     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
20201     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
20202
20203     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
20204     void mergeAttributes(
20205             [in] IHTMLElement *mergeThis,
20206             [in, optional] VARIANT *pvarFlags);
20207
20208     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
20209     VARIANT_BOOL isMultiLine();
20210
20211     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
20212     VARIANT_BOOL canHaveHTML();
20213
20214     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20215     void onlayoutcomplete(VARIANT v);
20216
20217     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20218     VARIANT onlayoutcomplete();
20219
20220     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20221     void onpage(VARIANT v);
20222
20223     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20224     VARIANT onpage();
20225
20226     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20227     void inflateBlock(VARIANT_BOOL v);
20228
20229     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20230     VARIANT_BOOL inflateBlock();
20231
20232     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20233     void onbeforedeactivate(VARIANT v);
20234
20235     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20236     VARIANT onbeforedeactivate();
20237
20238     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
20239     void setActive();
20240
20241     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20242     void contentEditable(BSTR v);
20243
20244     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20245     BSTR contentEditable();
20246
20247     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
20248     VARIANT_BOOL isContentEditable();
20249
20250     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
20251     void hideFocus(VARIANT_BOOL v);
20252
20253     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
20254     VARIANT_BOOL hideFocus();
20255
20256     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
20257     void disabled(VARIANT_BOOL v);
20258
20259     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
20260     VARIANT_BOOL disabled();
20261
20262     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
20263     VARIANT_BOOL isDisabled();
20264
20265     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
20266     void onmove(VARIANT v);
20267
20268     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
20269     VARIANT onmove();
20270
20271     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
20272     void oncontrolselect(VARIANT v);
20273
20274     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
20275     VARIANT oncontrolselect();
20276
20277     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
20278     VARIANT_BOOL fireEvent(
20279             [in] BSTR bstrEventName,
20280             [in, optional] VARIANT *pvarEventObject);
20281
20282     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
20283     void onresizestart(VARIANT v);
20284
20285     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
20286     VARIANT onresizestart();
20287
20288     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
20289     void onresizeend(VARIANT v);
20290
20291     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
20292     VARIANT onresizeend();
20293
20294     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
20295     void onmovestart(VARIANT v);
20296
20297     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
20298     VARIANT onmovestart();
20299
20300     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
20301     void onmoveend(VARIANT v);
20302
20303     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
20304     VARIANT onmoveend();
20305
20306     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
20307     void onmouseenter(VARIANT v);
20308
20309     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
20310     VARIANT onmouseenter();
20311
20312     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
20313     void onmouseleave(VARIANT v);
20314
20315     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
20316     VARIANT onmouseleave();
20317
20318     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
20319     void onactivate(VARIANT v);
20320
20321     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
20322     VARIANT onactivate();
20323
20324     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20325     void ondeactivate(VARIANT v);
20326
20327     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20328     VARIANT ondeactivate();
20329
20330     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
20331     VARIANT_BOOL dragDrop();
20332
20333     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
20334     LONG glyphMode();
20335
20336     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20337     void onmousewheel(VARIANT v);
20338
20339     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20340     VARIANT onmousewheel();
20341
20342     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
20343     void normalize();
20344
20345     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
20346     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
20347
20348     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
20349     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
20350
20351     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
20352     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
20353
20354     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20355     void onbeforeactivate(VARIANT v);
20356
20357     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20358     VARIANT onbeforeactivate();
20359
20360     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20361     void onfocusin(VARIANT v);
20362
20363     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20364     VARIANT onfocusin();
20365
20366     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20367     void onfocusout(VARIANT v);
20368
20369     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20370     VARIANT onfocusout();
20371
20372     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
20373     LONG uniqueNumber();
20374
20375     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
20376     BSTR uniqueID();
20377
20378     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
20379     LONG nodeType();
20380
20381     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
20382     IHTMLDOMNode *parentNode();
20383
20384     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
20385     VARIANT_BOOL hasChildNodes();
20386
20387     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
20388     IDispatch *childNodes();
20389
20390     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
20391     IDispatch *attributes();
20392
20393     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
20394     IHTMLDOMNode *insertBefore(
20395             [in] IHTMLDOMNode *newChild,
20396             [in, optional] VARIANT refChild);
20397
20398     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
20399     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
20400
20401     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
20402     IHTMLDOMNode *replaceChild(
20403             [in] IHTMLDOMNode *newChild,
20404             [in] IHTMLDOMNode *oldChild);
20405
20406     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
20407     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
20408
20409     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
20410     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
20411
20412     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
20413     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
20414
20415     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
20416     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
20417
20418     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
20419     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
20420
20421     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
20422     BSTR nodeName();
20423
20424     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20425     void nodeValue(VARIANT v);
20426
20427     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20428     VARIANT nodeValue();
20429
20430     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
20431     IHTMLDOMNode *firstChild();
20432
20433     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
20434     IHTMLDOMNode *lastChild();
20435
20436     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
20437     IHTMLDOMNode *previousSibling();
20438
20439     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
20440     IHTMLDOMNode *nextSibling();
20441
20442     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
20443     IDispatch *ownerDocument();
20444
20445     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
20446     void align(BSTR v);
20447
20448     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
20449     BSTR align();
20450
20451     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
20452     void vAlign(BSTR v);
20453
20454     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
20455     BSTR vAlign();
20456
20457     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
20458     void bgColor(VARIANT v);
20459
20460     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
20461     VARIANT bgColor();
20462
20463     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
20464     void borderColor(VARIANT v);
20465
20466     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
20467     VARIANT borderColor();
20468
20469     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
20470     void borderColorLight(VARIANT v);
20471
20472     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
20473     VARIANT borderColorLight();
20474
20475     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
20476     void borderColorDark(VARIANT v);
20477
20478     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
20479     VARIANT borderColorDark();
20480
20481     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
20482     LONG rowIndex();
20483
20484     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
20485     LONG sectionRowIndex();
20486
20487     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
20488     IHTMLElementCollection *cells();
20489
20490     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
20491     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
20492
20493     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
20494     void deleteCell([in, defaultvalue(-1)] LONG index);
20495
20496     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
20497     void height(VARIANT v);
20498
20499     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
20500     VARIANT height();
20501
20502     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
20503     void ch(BSTR v);
20504
20505     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
20506     BSTR ch();
20507
20508     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
20509     void chOff(BSTR v);
20510
20511     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
20512     BSTR chOff();
20513 }
20514
20515 /*****************************************************************************
20516  *    IHTMLScriptElement interface
20517  */
20518 [
20519     odl,
20520     oleautomation,
20521     dual,
20522     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
20523 ]
20524 interface IHTMLScriptElement : IDispatch
20525 {
20526     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
20527     HRESULT src([in] BSTR v);
20528
20529     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
20530     HRESULT src([retval, out] BSTR *p);
20531
20532     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
20533     HRESULT htmlFor([in] BSTR v);
20534
20535     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
20536     HRESULT htmlFor([retval, out] BSTR *p);
20537
20538     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
20539     HRESULT event([in] BSTR v);
20540
20541     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
20542     HRESULT event([retval, out] BSTR *p);
20543
20544     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
20545     HRESULT text([in] BSTR v);
20546
20547     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
20548     HRESULT text([retval, out] BSTR *p);
20549
20550     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
20551     HRESULT defer([in] VARIANT_BOOL v);
20552
20553     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
20554     HRESULT defer([retval, out] VARIANT_BOOL *p);
20555
20556     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
20557     HRESULT readyState([retval, out] BSTR *p);
20558
20559     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
20560     HRESULT onerror([in] VARIANT v);
20561
20562     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
20563     HRESULT onerror([retval, out] VARIANT *p);
20564
20565     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
20566     HRESULT type([in] BSTR v);
20567
20568     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
20569     HRESULT type([retval, out] BSTR *p);
20570 }
20571
20572 /*****************************************************************************
20573  *    IHTMLScriptElement2 interface
20574  */
20575 [
20576     odl,
20577     oleautomation,
20578     dual,
20579     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
20580 ]
20581 interface IHTMLScriptElement2 : IDispatch
20582 {
20583     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
20584     HRESULT charset([in] BSTR v);
20585
20586     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
20587     HRESULT charset([retval, out] BSTR *p);
20588 }
20589
20590 /*****************************************************************************
20591  *    IHTMLFrameBase interface
20592  */
20593 [
20594     odl,
20595     oleautomation,
20596     dual,
20597     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
20598 ]
20599 interface IHTMLFrameBase : IDispatch
20600 {
20601     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
20602     HRESULT src([in] BSTR v);
20603
20604     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
20605     HRESULT src([out, retval] BSTR *p);
20606
20607     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
20608     HRESULT name([in] BSTR v);
20609
20610     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
20611     HRESULT name([out, retval] BSTR *p);
20612
20613     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20614     HRESULT border([in] VARIANT v);
20615
20616     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
20617     HRESULT border([out, retval] VARIANT *p);
20618
20619     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20620     HRESULT frameBorder([in] BSTR v);
20621
20622     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
20623     HRESULT frameBorder([out, retval] BSTR *p);
20624
20625     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20626     HRESULT frameSpacing([in] VARIANT v);
20627
20628     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
20629     HRESULT frameSpacing([out, retval] VARIANT *p);
20630
20631     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20632     HRESULT marginWidth([in] VARIANT v);
20633
20634     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
20635     HRESULT marginWidth([out, retval] VARIANT *p);
20636
20637     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20638     HRESULT marginHeight([in] VARIANT v);
20639
20640     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
20641     HRESULT marginHeight([out, retval] VARIANT *p);
20642
20643     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20644     HRESULT noResize([in] VARIANT_BOOL v);
20645
20646     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
20647     HRESULT noResize([out, retval] VARIANT_BOOL *p);
20648
20649     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20650     HRESULT scrolling([in] BSTR v);
20651
20652     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
20653     HRESULT scrolling([out, retval] BSTR *p);
20654 }
20655
20656 /*****************************************************************************
20657  *    IHTMLFrameBase2 interface
20658  */
20659 [
20660     odl,
20661     oleautomation,
20662     dual,
20663     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
20664 ]
20665 interface IHTMLFrameBase2 : IDispatch
20666 {
20667     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
20668     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
20669
20670     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20671     HRESULT onload([in] VARIANT v);
20672
20673     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
20674     HRESULT onload([retval, out] VARIANT *p);
20675
20676     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
20677     HRESULT onreadystatechange([in] VARIANT v);
20678
20679     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
20680     HRESULT onreadystatechange([retval, out] VARIANT *p);
20681
20682     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
20683     HRESULT readyState([retval, out] BSTR *p);
20684
20685     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20686     HRESULT allowTransparency([in] VARIANT_BOOL v);
20687
20688     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
20689     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
20690 }
20691
20692 /*****************************************************************************
20693  *    DispHTMLIFrame dispinterface
20694  */
20695 [
20696     hidden,
20697     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
20698 ]
20699 dispinterface DispHTMLIFrame
20700 {
20701 properties:
20702 methods:
20703     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
20704     void setAttribute(
20705             [in] BSTR strAttributeName,
20706             [in] VARIANT AttributeValue,
20707             [in, defaultvalue(1)] LONG lFlags);
20708
20709     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
20710     VARIANT getAttribute(
20711              [in] BSTR strAttributeName,
20712              [in, defaultvalue(0)] LONG lFlags);
20713
20714     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
20715     VARIANT_BOOL removeAttribute(
20716             [in] BSTR strAttributeName,
20717             [in, defaultvalue(1)] LONG lFlags);
20718
20719     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
20720     void className(BSTR v);
20721
20722     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
20723     BSTR className();
20724
20725     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
20726     void id(BSTR v);
20727
20728     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
20729     BSTR id();
20730
20731     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
20732     BSTR tagName();
20733
20734     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
20735     IHTMLElement *parentElement();
20736
20737     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
20738     IHTMLStyle *style();
20739
20740     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
20741     void onhelp(VARIANT v);
20742
20743     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
20744     VARIANT onhelp();
20745
20746     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
20747     void onclick(VARIANT v);
20748
20749     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
20750     VARIANT onclick();
20751
20752     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
20753     void ondblclick(VARIANT v);
20754
20755     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
20756     VARIANT ondblclick();
20757
20758     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
20759     void onkeydown(VARIANT v);
20760
20761     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
20762     VARIANT onkeydown();
20763
20764     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
20765     void onkeyup(VARIANT v);
20766
20767     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
20768     VARIANT onkeyup();
20769
20770     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
20771     void onkeypress(VARIANT v);
20772
20773     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
20774     VARIANT onkeypress();
20775
20776     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
20777     void onmouseout(VARIANT v);
20778
20779     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
20780     VARIANT onmouseout();
20781
20782     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
20783     void onmouseover(VARIANT v);
20784
20785     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
20786     VARIANT onmouseover();
20787
20788     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
20789     void onmousemove(VARIANT v);
20790
20791     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
20792     VARIANT onmousemove();
20793
20794     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
20795     void onmousedown(VARIANT v);
20796
20797     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
20798     VARIANT onmousedown();
20799
20800     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
20801     void onmouseup(VARIANT v);
20802
20803     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
20804     VARIANT onmouseup();
20805
20806     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
20807     IDispatch *document();
20808
20809     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
20810     void title(BSTR v);
20811
20812     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
20813     BSTR title();
20814
20815     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
20816     void language(BSTR v);
20817
20818     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
20819     BSTR language();
20820
20821     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
20822     void onselectstart(VARIANT v);
20823
20824     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
20825     VARIANT onselectstart();
20826
20827     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
20828     void scrollIntoView([in, optional] VARIANT varargStart);
20829
20830     [id(DISPID_IHTMLELEMENT_CONTAINS)]
20831     VARIANT_BOOL contains([in] IHTMLElement *pChild);
20832
20833     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
20834     LONG sourceIndex();
20835
20836     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
20837     VARIANT recordNumber();
20838
20839     [propput, id(DISPID_IHTMLELEMENT_LANG)]
20840     void lang(BSTR v);
20841
20842     [propget, id(DISPID_IHTMLELEMENT_LANG)]
20843     BSTR lang();
20844
20845     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
20846     LONG offsetLeft();
20847
20848     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
20849     LONG offsetTop();
20850
20851     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
20852     LONG offsetWidth();
20853
20854     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
20855     LONG offsetHeight();
20856
20857     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
20858     IHTMLElement *offsetParent();
20859
20860     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
20861     void innerHTML(BSTR v);
20862
20863     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
20864     BSTR innerHTML();
20865
20866     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
20867     void innerText(BSTR v);
20868
20869     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
20870     BSTR innerText();
20871
20872     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
20873     void outerHTML(BSTR v);
20874
20875     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
20876     BSTR outerHTML();
20877
20878     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
20879     void outerText(BSTR v);
20880
20881     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
20882     BSTR outerText();
20883
20884     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
20885     void insertAdjacentHTML(
20886             [in] BSTR where,
20887             [in] BSTR html);
20888
20889     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
20890     void insertAdjacentText(
20891             [in] BSTR where,
20892             [in] BSTR text);
20893
20894     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
20895     IHTMLElement *parentTextEdit();
20896
20897     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
20898     VARIANT_BOOL isTextEdit();
20899
20900     [id(DISPID_IHTMLELEMENT_CLICK)]
20901     void click();
20902
20903     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
20904     IHTMLFiltersCollection *filters();
20905
20906     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
20907     void ondragstart(VARIANT v);
20908
20909     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
20910     VARIANT ondragstart();
20911
20912     [id(DISPID_IHTMLELEMENT_TOSTRING)]
20913     BSTR toString();
20914
20915     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
20916     void onbeforeupdate(VARIANT v);
20917
20918     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
20919     VARIANT onbeforeupdate();
20920
20921     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
20922     void onafterupdate(VARIANT v);
20923
20924     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
20925     VARIANT onafterupdate();
20926
20927     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
20928     void onerrorupdate(VARIANT v);
20929
20930     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
20931     VARIANT onerrorupdate();
20932
20933     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
20934     void onrowexit(VARIANT v);
20935
20936     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
20937     VARIANT onrowexit();
20938
20939     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
20940     void onrowenter(VARIANT v);
20941
20942     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
20943     VARIANT onrowenter();
20944
20945     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
20946     void ondatasetchanged(VARIANT v);
20947
20948     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
20949     VARIANT ondatasetchanged();
20950
20951     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
20952     void ondataavailable(VARIANT v);
20953
20954     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
20955     VARIANT ondataavailable();
20956
20957     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
20958     void ondatasetcomplete(VARIANT v);
20959
20960     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
20961     VARIANT ondatasetcomplete();
20962
20963     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
20964     void onfilterchange(VARIANT v);
20965
20966     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
20967     VARIANT onfilterchange();
20968
20969     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
20970     IDispatch *children();
20971
20972     [propget, id(DISPID_IHTMLELEMENT_ALL)]
20973     IDispatch *all();
20974
20975     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
20976     BSTR scopeName();
20977
20978     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
20979     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
20980
20981     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
20982     void releaseCapture();
20983
20984     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
20985     void onlosecapture(VARIANT v);
20986
20987     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
20988     VARIANT onlosecapture();
20989
20990     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
20991     BSTR componentFromPoint(
20992             [in] LONG x,
20993             [in] LONG y);
20994
20995     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
20996     void doScroll([in, optional] VARIANT component);
20997
20998     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
20999     void onscroll(VARIANT v);
21000
21001     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
21002     VARIANT onscroll();
21003
21004     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
21005     void ondrag(VARIANT v);
21006
21007     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
21008     VARIANT ondrag();
21009
21010     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
21011     void ondragend(VARIANT v);
21012
21013     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
21014     VARIANT ondragend();
21015
21016     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
21017     void ondragenter(VARIANT v);
21018
21019     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
21020     VARIANT ondragenter();
21021
21022     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
21023     void ondragover(VARIANT v);
21024
21025     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
21026     VARIANT ondragover();
21027
21028     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
21029     void ondragleave(VARIANT v);
21030
21031     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
21032     VARIANT ondragleave();
21033
21034     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
21035     void ondrop(VARIANT v);
21036
21037     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
21038     VARIANT ondrop();
21039
21040     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
21041     void onbeforecut(VARIANT v);
21042
21043     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
21044     VARIANT onbeforecut();
21045
21046     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
21047     void oncut(VARIANT v);
21048
21049     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
21050     VARIANT oncut();
21051
21052     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
21053     void onbeforecopy(VARIANT v);
21054
21055     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
21056     VARIANT onbeforecopy();
21057
21058     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
21059     void oncopy(VARIANT v);
21060
21061     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
21062     VARIANT oncopy();
21063
21064     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
21065     void onbeforepaste(VARIANT v);
21066
21067     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
21068     VARIANT onbeforepaste();
21069
21070     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
21071     void onpaste(VARIANT v);
21072
21073     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
21074     VARIANT onpaste();
21075
21076     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
21077     IHTMLCurrentStyle *currentStyle();
21078
21079     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
21080     void onpropertychange(VARIANT v);
21081
21082     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
21083     VARIANT onpropertychange();
21084
21085     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
21086     IHTMLRectCollection *getClientRects();
21087
21088     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
21089     IHTMLRect *getBoundingClientRect();
21090
21091     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
21092     void setExpression(
21093             [in] BSTR propname,
21094             [in] BSTR expression,
21095             [in, defaultvalue("")] BSTR language);
21096
21097     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
21098     VARIANT getExpression([in] BSTR propname);
21099
21100     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
21101     VARIANT_BOOL removeExpression([in] BSTR propname);
21102
21103     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
21104     void tabIndex(short v);
21105
21106     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
21107     short tabIndex();
21108
21109     [id(DISPID_IHTMLELEMENT2_FOCUS)]
21110     void focus();
21111
21112     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
21113     void accessKey(BSTR v);
21114
21115     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
21116     BSTR accessKey();
21117
21118     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
21119     void onblur(VARIANT v);
21120
21121     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
21122     VARIANT onblur();
21123
21124     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
21125     void onfocus(VARIANT v);
21126
21127     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
21128     VARIANT onfocus();
21129
21130     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
21131     void onresize(VARIANT v);
21132
21133     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
21134     VARIANT onresize();
21135
21136     [id(DISPID_IHTMLELEMENT2_BLUR)]
21137     void blur();
21138
21139     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
21140     void addFilter([in] IUnknown *pUnk);
21141
21142     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
21143     void removeFilter([in] IUnknown *pUnk);
21144
21145     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
21146     LONG clientHeight();
21147
21148     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
21149     LONG clientWidth();
21150
21151     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
21152     LONG clientTop();
21153
21154     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
21155     LONG clientLeft();
21156
21157     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
21158     VARIANT_BOOL attachEvent(
21159             [in] BSTR event,
21160             [in] IDispatch *pDisp);
21161
21162     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
21163     void detachEvent(
21164             [in] BSTR event,
21165             [in] IDispatch *pDisp);
21166
21167     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
21168     VARIANT readyState();
21169
21170     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
21171     void onreadystatechange(VARIANT v);
21172
21173     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
21174     VARIANT onreadystatechange();
21175
21176     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
21177     void onrowsdelete(VARIANT v);
21178
21179     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
21180     VARIANT onrowsdelete();
21181
21182     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
21183     void onrowsinserted(VARIANT v);
21184
21185     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
21186      VARIANT onrowsinserted();
21187
21188     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
21189      void oncellchange(VARIANT v);
21190
21191     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
21192     VARIANT oncellchange();
21193
21194     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
21195     void dir(BSTR v);
21196
21197     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
21198     BSTR dir();
21199
21200     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
21201     IDispatch *createControlRange();
21202
21203     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
21204     LONG scrollHeight();
21205
21206     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
21207     LONG scrollWidth();
21208
21209     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
21210     void scrollTop(LONG v);
21211
21212     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
21213     LONG scrollTop();
21214
21215     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
21216     void scrollLeft(LONG v);
21217
21218     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
21219     LONG scrollLeft();
21220
21221     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
21222     void clearAttributes();
21223
21224     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
21225     void oncontextmenu(VARIANT v);
21226
21227     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
21228     VARIANT oncontextmenu();
21229
21230     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
21231     IHTMLElement *insertAdjacentElement(
21232             [in] BSTR where,
21233             [in] IHTMLElement *insertedElement);
21234
21235     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
21236     IHTMLElement *applyElement(
21237             [in] IHTMLElement *apply,
21238             [in] BSTR where);
21239
21240     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
21241     BSTR getAdjacentText([in] BSTR where);
21242
21243     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
21244     BSTR replaceAdjacentText(
21245             [in] BSTR where,
21246             [in] BSTR newText);
21247
21248     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
21249     VARIANT_BOOL canHaveChildren();
21250
21251     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
21252     LONG addBehavior(
21253             [in] BSTR bstrUrl,
21254             [in, optional] VARIANT *pvarFactory);
21255
21256     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
21257     VARIANT_BOOL removeBehavior([in] LONG cookie);
21258
21259     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
21260     IHTMLStyle *runtimeStyle();
21261
21262     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
21263     IDispatch *behaviorUrns();
21264
21265     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
21266     void tagUrn(BSTR v);
21267
21268     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
21269     BSTR tagUrn();
21270
21271     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
21272     void onbeforeeditfocus(VARIANT v);
21273
21274     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
21275     VARIANT onbeforeeditfocus();
21276
21277     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
21278     LONG readyStateValue();
21279
21280     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
21281     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
21282
21283     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
21284     void mergeAttributes(
21285             [in] IHTMLElement *mergeThis,
21286             [in, optional] VARIANT *pvarFlags);
21287
21288     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
21289     VARIANT_BOOL isMultiLine();
21290
21291     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
21292     VARIANT_BOOL canHaveHTML();
21293
21294     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
21295     void onlayoutcomplete(VARIANT v);
21296
21297     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
21298     VARIANT onlayoutcomplete();
21299
21300     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
21301     void onpage(VARIANT v);
21302
21303     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
21304     VARIANT onpage();
21305
21306     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
21307     void inflateBlock(VARIANT_BOOL v);
21308
21309     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
21310     VARIANT_BOOL inflateBlock();
21311
21312     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
21313     void onbeforedeactivate(VARIANT v);
21314
21315     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
21316     VARIANT onbeforedeactivate();
21317
21318     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
21319     void setActive();
21320
21321     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
21322     void contentEditable(BSTR v);
21323
21324     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
21325     BSTR contentEditable();
21326
21327     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
21328     VARIANT_BOOL isContentEditable();
21329
21330     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
21331     void hideFocus(VARIANT_BOOL v);
21332
21333     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
21334     VARIANT_BOOL hideFocus();
21335
21336     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
21337     void disabled(VARIANT_BOOL v);
21338
21339     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
21340     VARIANT_BOOL disabled();
21341
21342     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
21343     VARIANT_BOOL isDisabled();
21344
21345     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
21346     void onmove(VARIANT v);
21347
21348     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
21349     VARIANT onmove();
21350
21351     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
21352     void oncontrolselect(VARIANT v);
21353
21354     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
21355     VARIANT oncontrolselect();
21356
21357     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
21358     VARIANT_BOOL fireEvent(
21359             [in] BSTR bstrEventName,
21360             [in, optional] VARIANT *pvarEventObject);
21361
21362     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
21363     void onresizestart(VARIANT v);
21364
21365     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
21366     VARIANT onresizestart();
21367
21368     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
21369     void onresizeend(VARIANT v);
21370
21371     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
21372     VARIANT onresizeend();
21373
21374     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
21375     void onmovestart(VARIANT v);
21376
21377     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
21378     VARIANT onmovestart();
21379
21380     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
21381     void onmoveend(VARIANT v);
21382
21383     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
21384     VARIANT onmoveend();
21385
21386     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
21387     void onmouseenter(VARIANT v);
21388
21389     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
21390     VARIANT onmouseenter();
21391
21392     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
21393     void onmouseleave(VARIANT v);
21394
21395     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
21396     VARIANT onmouseleave();
21397
21398     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
21399     void onactivate(VARIANT v);
21400
21401     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
21402     VARIANT onactivate();
21403
21404     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
21405     void ondeactivate(VARIANT v);
21406
21407     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
21408     VARIANT ondeactivate();
21409
21410     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
21411     VARIANT_BOOL dragDrop();
21412
21413     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
21414     LONG glyphMode();
21415
21416     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
21417     void onmousewheel(VARIANT v);
21418
21419     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
21420     VARIANT onmousewheel();
21421
21422     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
21423     void normalize();
21424
21425     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
21426     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
21427
21428     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
21429     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
21430
21431     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
21432     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
21433
21434     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
21435     void onbeforeactivate(VARIANT v);
21436
21437     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
21438     VARIANT onbeforeactivate();
21439
21440     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
21441     void onfocusin(VARIANT v);
21442
21443     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
21444     VARIANT onfocusin();
21445
21446     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
21447     void onfocusout(VARIANT v);
21448
21449     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
21450     VARIANT onfocusout();
21451
21452     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
21453     LONG uniqueNumber();
21454
21455     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
21456     BSTR uniqueID();
21457
21458     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
21459     LONG nodeType();
21460
21461     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
21462     IHTMLDOMNode *parentNode();
21463
21464     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
21465     VARIANT_BOOL hasChildNodes();
21466
21467     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
21468     IDispatch *childNodes();
21469
21470     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
21471     IDispatch *attributes();
21472
21473     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
21474     IHTMLDOMNode *insertBefore(
21475             [in] IHTMLDOMNode *newChild,
21476             [in, optional] VARIANT refChild);
21477
21478     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
21479     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
21480
21481     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
21482     IHTMLDOMNode *replaceChild(
21483             [in] IHTMLDOMNode *newChild,
21484             [in] IHTMLDOMNode *oldChild);
21485
21486     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
21487     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
21488
21489     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
21490     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
21491
21492     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
21493     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
21494
21495     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
21496     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
21497
21498     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
21499     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
21500
21501     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
21502     BSTR nodeName();
21503
21504     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
21505     void nodeValue(VARIANT v);
21506
21507     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
21508     VARIANT nodeValue();
21509
21510     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
21511     IHTMLDOMNode *firstChild();
21512
21513     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
21514     IHTMLDOMNode *lastChild();
21515
21516     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
21517     IHTMLDOMNode *previousSibling();
21518
21519     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
21520     IHTMLDOMNode *nextSibling();
21521
21522     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
21523     IDispatch *ownerDocument();
21524
21525     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
21526     void dataFld(BSTR v);
21527
21528     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
21529     BSTR dataFld();
21530
21531     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
21532     void dataSrc(BSTR v);
21533
21534     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
21535     BSTR dataSrc();
21536
21537     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
21538     void dataFormatAs(BSTR v);
21539
21540     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
21541     BSTR dataFormatAs();
21542
21543     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
21544     void src(BSTR v);
21545
21546     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
21547     BSTR src();
21548
21549     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
21550     void name(BSTR v);
21551
21552     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
21553     BSTR name();
21554
21555     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
21556     void border(VARIANT v);
21557
21558     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
21559     VARIANT border();
21560
21561     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
21562     void frameBorder(BSTR v);
21563
21564     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
21565     BSTR frameBorder();
21566
21567     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
21568     void frameSpacing(VARIANT v);
21569
21570     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
21571     VARIANT frameSpacing();
21572
21573     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
21574     void marginWidth(VARIANT v);
21575
21576     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
21577     VARIANT marginWidth();
21578
21579     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
21580     void marginHeight(VARIANT v);
21581
21582     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
21583     VARIANT marginHeight();
21584
21585     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
21586     void noResize(VARIANT_BOOL v);
21587
21588     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
21589     VARIANT_BOOL noResize();
21590
21591     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
21592     void scrolling(BSTR v);
21593
21594     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
21595     BSTR scrolling();
21596
21597     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
21598     IHTMLWindow2 *contentWindow();
21599
21600     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
21601     void onload(VARIANT v);
21602
21603     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
21604     VARIANT onload();
21605
21606     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
21607     void allowTransparency(VARIANT_BOOL v);
21608
21609     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
21610     VARIANT_BOOL allowTransparency();
21611
21612     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
21613     void longDesc(BSTR v);
21614
21615     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
21616     BSTR longDesc();
21617
21618     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
21619     void vspace(LONG v);
21620
21621     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
21622     LONG vspace();
21623
21624     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
21625     void hspace(LONG v);
21626
21627     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
21628     LONG hspace();
21629
21630     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
21631     void align(BSTR v);
21632
21633     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
21634     BSTR align();
21635
21636     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
21637     void height(VARIANT v);
21638
21639     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
21640     VARIANT height();
21641
21642     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
21643     void width(VARIANT v);
21644
21645     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
21646     VARIANT width();
21647 }
21648
21649 /*****************************************************************************
21650  *    IMarkupContainer interface
21651  */
21652 [
21653     object,
21654     pointer_default(unique),
21655     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
21656 ]
21657 interface IMarkupContainer : IUnknown
21658 {
21659     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
21660 }
21661
21662 /*****************************************************************************
21663  *    IMarkupPointer interface
21664  */
21665 [
21666     object,
21667     pointer_default(unique),
21668     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
21669 ]
21670 interface IMarkupPointer : IUnknown
21671 {
21672     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
21673
21674     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
21675
21676     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
21677
21678     HRESULT Cling([out] BOOL *pfCling);
21679
21680     HRESULT SetCling([in] BOOL fCLing);
21681
21682     HRESULT UnPosition();
21683
21684     HRESULT IsPositioned([out] BOOL *pfPositioned);
21685
21686     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
21687
21688     HRESULT MoveAdjacentToElement(
21689         [in] IHTMLElement *pElement,
21690         [in] ELEMENT_ADJACENCY eAdj);
21691
21692     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
21693
21694     HRESULT MoveToContainer(
21695         [in] IMarkupContainer *pContainer,
21696         [in] BOOL fAtStart);
21697
21698     HRESULT Left(
21699         [in] BOOL fMove,
21700         [out] MARKUP_CONTEXT_TYPE *pContext,
21701         [out] IHTMLElement **ppElement,
21702         [in, out] LONG *pcch,
21703         [out, size_is(*pcch)] OLECHAR *pchText);
21704
21705     HRESULT Right(
21706         [in] BOOL fMove,
21707         [out] MARKUP_CONTEXT_TYPE *pContext,
21708         [out] IHTMLElement **ppElement,
21709         [in, out] LONG *pcch,
21710         [out, size_is(*pcch)] OLECHAR *pchText);
21711
21712     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
21713
21714     HRESULT IsLeftOf(
21715         [in] IMarkupPointer *pPointerThat,
21716         [out] BOOL *pfResult);
21717
21718     HRESULT IsLeftOfOrEqualTo(
21719         [in] IMarkupPointer *pPointerThat,
21720         [out] BOOL *pfResult);
21721
21722     HRESULT IsRightOf(
21723         [in] IMarkupPointer *pPointerThat,
21724         [out] BOOL *pfResult);
21725
21726     HRESULT IsRightOfOrEqualTo(
21727         [in] IMarkupPointer *pPointerThat,
21728         [out] BOOL *pfResult);
21729
21730     HRESULT IsEqualTo(
21731         [in] IMarkupPointer *pPointerThat,
21732         [out] BOOL *pfAreEqual);
21733
21734     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
21735
21736     HRESULT FindText(
21737         [in] OLECHAR *pchFindText,
21738         [in] DWORD dwFlags,
21739         [in] IMarkupPointer *pIEndMatch,
21740         [in] IMarkupPointer *pIEndSearch);
21741 }
21742
21743 /*****************************************************************************
21744  *    ISegment interface
21745  */
21746 [
21747     object,
21748     pointer_default(unique),
21749     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
21750 ]
21751 interface ISegment : IUnknown
21752 {
21753     HRESULT GetPointers(
21754         [in] IMarkupPointer *pIStart,
21755         [in] IMarkupPointer *pIEnd);
21756 }
21757
21758 /*****************************************************************************
21759  *    IElementSegment interface
21760  */
21761 [
21762     object,
21763     pointer_default(unique),
21764     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
21765 ]
21766 interface IElementSegment : ISegment
21767 {
21768     HRESULT GetElement([out] IHTMLElement **ppIElement);
21769
21770     HRESULT SetPrimary([in] BOOL fPrimary);
21771
21772     HRESULT IsPrimary([out] BOOL *pfPrimary);
21773 }
21774
21775 /*****************************************************************************
21776  *    ISelectionServicesListener interface
21777  */
21778 [
21779     object,
21780     pointer_default(unique),
21781     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
21782 ]
21783 interface ISelectionServicesListener : IUnknown
21784 {
21785     HRESULT BeginSelectionUndo();
21786
21787     HRESULT EndSelectionUndo();
21788
21789     HRESULT OnSelectedElementExit(
21790         [in] IMarkupPointer *pIElementStart,
21791         [in] IMarkupPointer *pIElementEnd,
21792         [in] IMarkupPointer *pIElementContentStart,
21793         [in] IMarkupPointer *pIElementContentEnd);
21794
21795     HRESULT OnChangeType(
21796         [in] SELECTION_TYPE eType,
21797         [in] ISelectionServicesListener *pIListener);
21798
21799     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
21800 }
21801
21802 /*****************************************************************************
21803  *    ISelectionServices interface
21804  */
21805 [
21806     object,
21807     pointer_default(unique),
21808     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
21809 ]
21810 interface ISelectionServices : IUnknown
21811 {
21812     HRESULT SetSelectionType(
21813         [in] SELECTION_TYPE eType,
21814         [in] ISelectionServicesListener *pIListener);
21815
21816     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
21817
21818     HRESULT AddSegment(
21819         [in] IMarkupPointer *pIStart,
21820         [in] IMarkupPointer *pIEnd,
21821         [out] ISegment **ppISegmentAdded);
21822
21823     HRESULT AddElementSegment(
21824         [in] IHTMLElement *pIElement,
21825         [out] IElementSegment **ppISegmentAdded);
21826
21827     HRESULT RemoveSegment([in] ISegment *pISegment);
21828
21829     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
21830 }
21831
21832 /*****************************************************************************
21833  *    IHTMLEditDesigner interface
21834  */
21835 [
21836     object,
21837     pointer_default(unique),
21838     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
21839 ]
21840 interface IHTMLEditDesigner : IUnknown
21841 {
21842     HRESULT PreHandleEvent(
21843         [in] DISPID inEvtDispId,
21844         [in] IHTMLEventObj *pIEventObj);
21845
21846     HRESULT PostHandleEvent(
21847         [in] DISPID inEvtDispId,
21848         [in] IHTMLEventObj *pIEventObj);
21849
21850     HRESULT TranslateAccelerator(
21851         [in] DISPID inEvtDispId,
21852         [in] IHTMLEventObj *pIEventObj);
21853
21854     HRESULT PostEditorEventNotify(
21855         [in] DISPID inEvtDispId,
21856         [in] IHTMLEventObj *pIEventObj);
21857 }
21858
21859 /*****************************************************************************
21860  *    IHTMLEditServices interface
21861  */
21862 [
21863     object,
21864     pointer_default(unique),
21865     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
21866 ]
21867 interface IHTMLEditServices : IUnknown
21868 {
21869     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
21870
21871     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
21872
21873     HRESULT GetSelectionServices(
21874         [in] IMarkupContainer *pIContainer,
21875         [out] ISelectionServices **ppSelSvc);
21876
21877     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
21878
21879     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
21880
21881     HRESULT SelectRange(
21882         [in] IMarkupPointer* pStart,
21883         [in] IMarkupPointer* pEnd,
21884         [in] SELECTION_TYPE eType);
21885 }
21886
21887 } /* library MSHTML */