mshtml.idl: Added missing hidden attributes.
[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 [
96     odl,
97     oleautomation,
98     dual,
99     uuid(3051049b-98b5-11cf-bb82-00aa00bdce0b)
100 ]
101 interface IHTMLDOMConstructor : IDispatch
102 {
103     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
104     HRESULT constructor([retval, out] IDispatch* * p);
105
106     HRESULT LookupGetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
107
108     HRESULT LookupSetter([in] BSTR propname, [retval, out] VARIANT* ppDispHandler);
109
110     HRESULT DefineGetter([in] BSTR propname, [in] VARIANT* pdispHandler);
111
112     HRESULT DefineSetter([in] BSTR propname, [in] VARIANT* pdispHandler);
113 }
114
115 interface IHTMLDocument2;
116 interface IHTMLStyleSheetsCollection;
117 interface IHTMLFrameBase;
118
119 /*****************************************************************************
120  *    IHTMLFiltersCollection interface
121  */
122 [
123     odl,
124     oleautomation,
125     dual,
126     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
127 ]
128 interface IHTMLFiltersCollection : IDispatch
129 {
130     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
131     HRESULT length([retval, out] LONG *p);
132
133     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
134     HRESULT _newEnum([retval, out] IUnknown **p);
135
136     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
137     HRESULT item(
138         [in] VARIANT *pvarIndex,
139         [retval, out] VARIANT *pvarResult);
140 }
141
142 [
143     version(4.0),
144     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
145 ]
146 library MSHTML
147 {
148
149 importlib("stdole2.tlb");
150
151 /*****************************************************************************
152  *    IHTMLStyle interface
153  */
154 [
155     odl,
156     oleautomation,
157     dual,
158     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
159 ]
160 interface IHTMLStyle : IDispatch
161 {
162     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
163     HRESULT fontFamily([in] BSTR v);
164
165     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
166     HRESULT fontFamily([retval, out] BSTR *p);
167
168     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
169     HRESULT fontStyle([in] BSTR v);
170
171     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
172     HRESULT fontStyle([retval, out] BSTR *p);
173
174     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
175     HRESULT fontVariant([in] BSTR v);
176
177     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
178     HRESULT fontVariant([retval, out] BSTR *p);
179
180     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
181     HRESULT fontWeight([in] BSTR v);
182
183     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
184     HRESULT fontWeight([retval, out] BSTR *p);
185
186     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
187     HRESULT fontSize([in] VARIANT v);
188
189     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
190     HRESULT fontSize([retval, out] VARIANT *p);
191
192     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
193     HRESULT font([in] BSTR v);
194
195     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
196     HRESULT font([retval, out] BSTR *p);
197
198     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
199     HRESULT color([in] VARIANT v);
200
201     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
202     HRESULT color([retval, out] VARIANT *p);
203
204     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
205     HRESULT background([in] BSTR v);
206
207     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
208     HRESULT background([retval, out] BSTR *p);
209
210     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
211     HRESULT backgroundColor([in] VARIANT v);
212
213     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
214     HRESULT backgroundColor([retval, out] VARIANT *p);
215
216     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
217     HRESULT backgroundImage([in] BSTR v);
218
219     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
220     HRESULT backgroundImage([retval, out] BSTR *p);
221
222     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
223     HRESULT backgroundRepeat([in] BSTR v);
224
225     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
226     HRESULT backgroundRepeat([retval, out] BSTR *p);
227
228     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
229     HRESULT backgroundAttachment([in] BSTR v);
230
231     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
232     HRESULT backgroundAttachment([retval, out] BSTR *p);
233
234     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
235     HRESULT backgroundPosition([in] BSTR v);
236
237     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
238     HRESULT backgroundPosition([retval, out] BSTR *p);
239
240     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
241     HRESULT backgroundPositionX([in] VARIANT v);
242
243     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
244     HRESULT backgroundPositionX([retval, out] VARIANT *p);
245
246     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
247     HRESULT backgroundPositionY([in] VARIANT v);
248
249     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
250     HRESULT backgroundPositionY([retval, out] VARIANT *p);
251
252     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
253     HRESULT wordSpacing([in] VARIANT v);
254
255     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
256     HRESULT wordSpacing([retval, out] VARIANT *p);
257
258     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
259     HRESULT letterSpacing([in] VARIANT v);
260
261     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
262     HRESULT letterSpacing([retval, out] VARIANT *p);
263
264     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
265     HRESULT textDecoration([in] BSTR v);
266
267     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
268     HRESULT textDecoration([retval, out] BSTR *p);
269
270     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
271     HRESULT textDecorationNone([in] VARIANT_BOOL v);
272
273     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
274     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
275
276     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
277     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
278
279     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
280     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
281
282     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
283     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
284
285     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
286     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
287
288     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
289     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
290
291     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
292     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
293
294     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
295     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
296
297     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
298     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
299
300     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
301     HRESULT verticalAlign([in] VARIANT v);
302
303     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
304     HRESULT verticalAlign([retval, out] VARIANT *p);
305
306     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
307     HRESULT textTransform([in] BSTR v);
308
309     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
310     HRESULT textTransform([retval, out] BSTR *p);
311
312     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
313     HRESULT textAlign([in] BSTR v);
314
315     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
316     HRESULT textAlign([retval, out] BSTR *p);
317
318     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
319     HRESULT textIndent([in] VARIANT v);
320
321     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
322     HRESULT textIndent([retval, out] VARIANT *p);
323
324     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
325     HRESULT lineHeight([in] VARIANT v);
326
327     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
328     HRESULT lineHeight([retval, out] VARIANT *p);
329
330     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
331     HRESULT marginTop([in] VARIANT v);
332
333     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
334     HRESULT marginTop([retval, out] VARIANT *p);
335
336     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
337     HRESULT marginRight([in] VARIANT v);
338
339     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
340     HRESULT marginRight([retval, out] VARIANT *p);
341
342     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
343     HRESULT marginBottom([in] VARIANT v);
344
345     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
346     HRESULT marginBottom([retval, out] VARIANT *p);
347
348     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
349     HRESULT marginLeft([in] VARIANT v);
350
351     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
352     HRESULT marginLeft([retval, out] VARIANT *p);
353
354     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
355     HRESULT margin([in] BSTR v);
356
357     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
358     HRESULT margin([retval, out] BSTR *p);
359
360     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
361     HRESULT paddingTop([in] VARIANT v);
362
363     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
364     HRESULT paddingTop([retval, out] VARIANT *p);
365
366     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
367     HRESULT paddingRight([in] VARIANT v);
368
369     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
370     HRESULT paddingRight([retval, out] VARIANT *p);
371
372     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
373     HRESULT paddingBottom([in] VARIANT v);
374
375     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
376     HRESULT paddingBottom([retval, out] VARIANT *p);
377
378     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
379     HRESULT paddingLeft([in] VARIANT v);
380
381     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
382     HRESULT paddingLeft([retval, out] VARIANT *p);
383
384     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
385     HRESULT padding([in] BSTR v);
386
387     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
388     HRESULT padding([retval, out] BSTR *p);
389
390     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
391     HRESULT border([in] BSTR v);
392
393     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
394     HRESULT border([retval, out] BSTR *p);
395
396     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
397     HRESULT borderTop([in] BSTR v);
398
399     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
400     HRESULT borderTop([retval, out] BSTR *p);
401
402     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
403     HRESULT borderRight([in] BSTR v);
404
405     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
406     HRESULT borderRight([retval, out] BSTR *p);
407
408     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
409     HRESULT borderBottom([in] BSTR v);
410
411     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
412     HRESULT borderBottom([retval, out] BSTR *p);
413
414     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
415     HRESULT borderLeft([in] BSTR v);
416
417     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
418     HRESULT borderLeft([retval, out] BSTR *p);
419
420     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
421     HRESULT borderColor([in] BSTR v);
422
423     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
424     HRESULT borderColor([retval, out] BSTR *p);
425
426     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
427     HRESULT borderTopColor([in] VARIANT v);
428
429     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
430     HRESULT borderTopColor([retval, out] VARIANT *p);
431
432     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
433     HRESULT borderRightColor([in] VARIANT v);
434
435     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
436     HRESULT borderRightColor([retval, out] VARIANT *p);
437
438     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
439     HRESULT borderBottomColor([in] VARIANT v);
440
441     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
442     HRESULT borderBottomColor([retval, out] VARIANT *p);
443
444     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
445     HRESULT borderLeftColor([in] VARIANT v);
446
447     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
448     HRESULT borderLeftColor([retval, out] VARIANT *p);
449
450     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
451     HRESULT borderWidth([in] BSTR v);
452
453     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
454     HRESULT borderWidth([retval, out] BSTR *p);
455
456     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
457     HRESULT borderTopWidth([in] VARIANT v);
458
459     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
460     HRESULT borderTopWidth([retval, out] VARIANT *p);
461
462     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
463     HRESULT borderRightWidth([in] VARIANT v);
464
465     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
466     HRESULT borderRightWidth([retval, out] VARIANT *p);
467
468     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
469     HRESULT borderBottomWidth([in] VARIANT v);
470
471     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
472     HRESULT borderBottomWidth([retval, out] VARIANT *p);
473
474     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
475     HRESULT borderLeftWidth([in] VARIANT v);
476
477     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
478     HRESULT borderLeftWidth([retval, out] VARIANT *p);
479
480     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
481     HRESULT borderStyle([in] BSTR v);
482
483     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
484     HRESULT borderStyle([retval, out] BSTR *p);
485
486     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
487     HRESULT borderTopStyle([in] BSTR v);
488
489     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
490     HRESULT borderTopStyle([retval, out] BSTR *p);
491
492     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
493     HRESULT borderRightStyle([in] BSTR v);
494
495     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
496     HRESULT borderRightStyle([retval, out] BSTR *p);
497
498     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
499     HRESULT borderBottomStyle([in] BSTR v);
500
501     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
502     HRESULT borderBottomStyle([retval, out] BSTR *p);
503
504     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
505     HRESULT borderLeftStyle([in] BSTR v);
506
507     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
508     HRESULT borderLeftStyle([retval, out] BSTR *p);
509
510     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
511     HRESULT width([in] VARIANT v);
512
513     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
514     HRESULT width([retval, out] VARIANT *p);
515
516     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
517     HRESULT height([in] VARIANT v);
518
519     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
520     HRESULT height([retval, out] VARIANT *p);
521
522     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
523     HRESULT styleFloat([in] BSTR v);
524
525     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
526     HRESULT styleFloat([retval, out] BSTR *p);
527
528     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
529     HRESULT clear([in] BSTR v);
530
531     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
532     HRESULT clear([retval, out] BSTR *p);
533
534     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
535     HRESULT display([in] BSTR v);
536
537     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
538     HRESULT display([retval, out] BSTR *p);
539
540     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
541     HRESULT visibility([in] BSTR v);
542
543     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
544     HRESULT visibility([retval, out] BSTR *p);
545
546     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
547     HRESULT listStyleType([in] BSTR v);
548
549     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
550     HRESULT listStyleType([retval, out] BSTR *p);
551
552     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
553     HRESULT listStylePosition([in] BSTR v);
554
555     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
556     HRESULT listStylePosition([retval, out] BSTR *p);
557
558     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
559     HRESULT listStyleImage([in] BSTR v);
560
561     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
562     HRESULT listStyleImage([retval, out] BSTR *p);
563
564     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
565     HRESULT listStyle([in] BSTR v);
566
567     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
568     HRESULT listStyle([retval, out] BSTR *p);
569
570     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
571     HRESULT whiteSpace([in] BSTR v);
572
573     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
574     HRESULT whiteSpace([retval, out] BSTR *p);
575
576     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
577     HRESULT top([in] VARIANT v);
578
579     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
580     HRESULT top([retval, out] VARIANT *p);
581
582     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
583     HRESULT left([in] VARIANT v);
584
585     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
586     HRESULT left([retval, out] VARIANT *p);
587
588     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
589     HRESULT position([retval, out] BSTR *p);
590
591     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
592     HRESULT zIndex([in] VARIANT v);
593
594     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
595     HRESULT zIndex([retval, out] VARIANT *p);
596
597     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
598     HRESULT overflow([in] BSTR v);
599
600     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
601     HRESULT overflow([retval, out] BSTR *p);
602
603     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
604     HRESULT pageBreakBefore([in] BSTR v);
605
606     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
607     HRESULT pageBreakBefore([retval, out] BSTR *p);
608
609     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
610     HRESULT pageBreakAfter([in] BSTR v);
611
612     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
613     HRESULT pageBreakAfter([retval, out] BSTR *p);
614
615     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
616     HRESULT cssText([in] BSTR v);
617
618     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
619     HRESULT cssText([retval, out] BSTR *p);
620
621     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
622     HRESULT pixelTop([in] LONG v);
623
624     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
625     HRESULT pixelTop([retval, out] LONG *p);
626
627     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
628     HRESULT pixelLeft([in] LONG v);
629
630     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
631     HRESULT pixelLeft([retval, out] LONG *p);
632
633     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
634     HRESULT pixelWidth([in] LONG v);
635
636     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
637     HRESULT pixelWidth([retval, out] LONG *p);
638
639     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
640     HRESULT pixelHeight([in] LONG v);
641
642     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
643     HRESULT pixelHeight([retval, out] LONG *p);
644
645     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
646     HRESULT posTop([in] float v);
647
648     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
649     HRESULT posTop([retval, out] float *p);
650
651     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
652     HRESULT posLeft([in] float v);
653
654     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
655     HRESULT posLeft([retval, out] float *p);
656
657     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
658     HRESULT posWidth([in] float v);
659
660     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
661     HRESULT posWidth([retval, out] float *p);
662
663     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
664     HRESULT posHeight([in] float v);
665
666     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
667     HRESULT posHeight([retval, out] float *p);
668
669     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
670     HRESULT cursor([in] BSTR v);
671
672     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
673     HRESULT cursor([retval, out] BSTR *p);
674
675     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
676     HRESULT clip([in] BSTR v);
677
678     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
679     HRESULT clip([retval, out] BSTR *p);
680
681     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
682     HRESULT filter([in] BSTR v);
683
684     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
685     HRESULT filter([retval, out] BSTR *p);
686
687     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
688     HRESULT setAttribute(
689         [in] BSTR strAttributeName,
690         [in] VARIANT AttributeValue,
691         [defaultvalue(1), in] LONG lFlags);
692
693     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
694     HRESULT getAttribute(
695         [in] BSTR strAttributeName,
696         [defaultvalue(0), in] LONG lFlags,
697         [retval, out] VARIANT *AttributeValue);
698
699     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
700     HRESULT removeAttribute(
701         [in] BSTR strAttributeName,
702         [defaultvalue(1), in]
703         LONG lFlags,
704         [retval, out] VARIANT_BOOL *pfSuccess);
705
706     [id(DISPID_IHTMLSTYLE_TOSTRING)]
707     HRESULT toString([retval, out] BSTR *String);
708 }
709
710 /*****************************************************************************
711  *    IHTMLStyle2 interface
712  */
713 [
714     odl,
715     oleautomation,
716     dual,
717     uuid(3050f4a2-98b5-11cf-bb82-00aa00bdce0b)
718 ]
719 interface IHTMLStyle2 : IDispatch
720 {
721     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
722     HRESULT tableLayout([in] BSTR v);
723
724     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
725     HRESULT tableLayout([out, retval] BSTR *p);
726
727     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
728     HRESULT borderCollapse([in] BSTR v);
729
730     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
731     HRESULT borderCollapse([out, retval] BSTR *p);
732
733     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
734     HRESULT direction([in] BSTR v);
735
736     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
737     HRESULT direction([out, retval] BSTR *p);
738
739     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
740     HRESULT behavior([in] BSTR v);
741
742     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
743     HRESULT behavior([out, retval] BSTR *p);
744
745     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
746     HRESULT setExpression(
747             [in] BSTR propname,
748             [in] BSTR expression,
749             [in, defaultvalue("")] BSTR language);
750
751     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
752     HRESULT getExpression(
753             [in] BSTR propname,
754             [out, retval] VARIANT *expression);
755
756     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
757     HRESULT removeExpression(
758             [in] BSTR propname,
759             [out, retval] VARIANT_BOOL *pfSuccess);
760
761     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
762     HRESULT position([in] BSTR v);
763
764     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
765     HRESULT position([out, retval] BSTR *p);
766
767     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
768     HRESULT unicodeBidi([in] BSTR v);
769
770     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
771     HRESULT unicodeBidi([out, retval] BSTR *p);
772
773     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
774     HRESULT bottom([in] VARIANT v);
775
776     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
777     HRESULT bottom([out, retval] VARIANT *p);
778
779     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
780     HRESULT right([in] VARIANT v);
781
782     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
783     HRESULT right([out, retval] VARIANT *p);
784
785     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
786     HRESULT pixelBottom([in] LONG v);
787
788     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
789     HRESULT pixelBottom([out, retval] LONG *p);
790
791     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
792     HRESULT pixelRight([in] LONG v);
793
794     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
795     HRESULT pixelRight([out, retval] LONG *p);
796
797     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
798     HRESULT posBottom([in] float v);
799
800     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
801     HRESULT posBottom([out, retval] float *p);
802
803     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
804     HRESULT posRight([in] float v);
805
806     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
807     HRESULT posRight([out, retval] float *p);
808
809     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
810     HRESULT imeMode([in] BSTR v);
811
812     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
813     HRESULT imeMode([out, retval] BSTR *p);
814
815     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
816     HRESULT rubyAlign([in] BSTR v);
817
818     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
819     HRESULT rubyAlign([out, retval] BSTR *p);
820
821     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
822     HRESULT rubyPosition([in] BSTR v);
823
824     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
825     HRESULT rubyPosition([out, retval] BSTR *p);
826
827     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
828     HRESULT rubyOverhang([in] BSTR v);
829
830     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
831     HRESULT rubyOverhang([out, retval] BSTR *p);
832
833     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
834     HRESULT layoutGridChar([in] VARIANT v);
835
836     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
837     HRESULT layoutGridChar([out, retval] VARIANT *p);
838
839     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
840     HRESULT layoutGridLine([in] VARIANT v);
841
842     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
843     HRESULT layoutGridLine([out, retval] VARIANT *p);
844
845     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
846     HRESULT layoutGridMode([in] BSTR v);
847
848     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
849     HRESULT layoutGridMode([out, retval] BSTR *p);
850
851     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
852     HRESULT layoutGridType([in] BSTR v);
853
854     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
855     HRESULT layoutGridType([out, retval] BSTR *p);
856
857     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
858     HRESULT layoutGrid([in] BSTR v);
859
860     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
861     HRESULT layoutGrid([out, retval] BSTR *p);
862
863     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
864     HRESULT wordBreak([in] BSTR v);
865
866     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
867     HRESULT wordBreak([out, retval] BSTR *p);
868
869     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
870     HRESULT lineBreak([in] BSTR v);
871
872     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
873     HRESULT lineBreak([out, retval] BSTR *p);
874
875     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
876     HRESULT textJustify([in] BSTR v);
877
878     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
879     HRESULT textJustify([out, retval] BSTR *p);
880
881     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
882     HRESULT textJustifyTrim([in] BSTR v);
883
884     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
885     HRESULT textJustifyTrim([out, retval] BSTR *p);
886
887     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
888     HRESULT textKashida([in] VARIANT v);
889
890     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
891     HRESULT textKashida([out, retval] VARIANT *p);
892
893     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
894     HRESULT textAutospace([in] BSTR v);
895
896     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
897     HRESULT textAutospace([out, retval] BSTR *p);
898
899     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
900     HRESULT overflowX([in] BSTR v);
901
902     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
903     HRESULT overflowX([out, retval] BSTR *p);
904
905     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
906     HRESULT overflowY([in] BSTR v);
907
908     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
909     HRESULT overflowY([out, retval] BSTR *p);
910
911     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
912     HRESULT accelerator([in] BSTR v);
913
914     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
915     HRESULT accelerator([out, retval] BSTR *p);
916 }
917
918 /*****************************************************************************
919  *    IHTMLRuleStyle interface
920  */
921 [
922         odl,
923         oleautomation,
924         dual,
925         uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
926 ]
927 interface IHTMLRuleStyle : IDispatch
928 {
929     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
930     HRESULT fontFamily([in] BSTR v);
931
932     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
933     HRESULT fontFamily([retval, out] BSTR *p);
934
935     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
936     HRESULT fontStyle([in] BSTR v);
937
938     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
939     HRESULT fontStyle([retval, out] BSTR *p);
940
941     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
942     HRESULT fontVariant([in] BSTR v);
943
944     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
945     HRESULT fontVariant([retval, out] BSTR *p);
946
947     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
948     HRESULT fontWeight([in] BSTR v);
949
950     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
951     HRESULT fontWeight([retval, out] BSTR *p);
952
953     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
954     HRESULT fontSize([in] VARIANT v);
955
956     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
957     HRESULT fontSize([retval, out] VARIANT *p);
958
959     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
960     HRESULT font([in] BSTR v);
961
962     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
963     HRESULT font([retval, out] BSTR *p);
964
965     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
966     HRESULT color([in] VARIANT v);
967
968     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
969     HRESULT color([retval, out] VARIANT *p);
970
971     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
972     HRESULT background([in] BSTR v);
973
974     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
975     HRESULT background([retval, out] BSTR *p);
976
977     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
978     HRESULT backgroundColor([in] VARIANT v);
979
980     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
981     HRESULT backgroundColor([retval, out] VARIANT *p);
982
983     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
984     HRESULT backgroundImage([in] BSTR v);
985
986     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
987     HRESULT backgroundImage([retval, out] BSTR *p);
988
989     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
990     HRESULT backgroundRepeat([in] BSTR v);
991
992     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
993     HRESULT backgroundRepeat([retval, out] BSTR *p);
994
995     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
996     HRESULT backgroundAttachment([in] BSTR v);
997
998     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
999     HRESULT backgroundAttachment([retval, out] BSTR *p);
1000
1001     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1002     HRESULT backgroundPosition([in] BSTR v);
1003
1004     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
1005     HRESULT backgroundPosition([retval, out] BSTR *p);
1006
1007     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1008     HRESULT backgroundPositionX([in] VARIANT v);
1009
1010     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
1011     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1012
1013     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1014     HRESULT backgroundPositionY([in] VARIANT v);
1015
1016     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
1017     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1018
1019     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1020     HRESULT wordSpacing([in] VARIANT v);
1021
1022     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
1023     HRESULT wordSpacing([retval, out] VARIANT *p);
1024
1025     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1026     HRESULT letterSpacing([in] VARIANT v);
1027
1028     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
1029     HRESULT letterSpacing([retval, out] VARIANT *p);
1030
1031     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1032     HRESULT textDecoration([in] BSTR v);
1033
1034     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
1035     HRESULT textDecoration([retval, out] BSTR *p);
1036
1037     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1038     HRESULT textDecorationNone([in] VARIANT_BOOL v);
1039
1040     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
1041     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
1042
1043     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1044     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
1045
1046     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
1047     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
1048
1049     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1050     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
1051
1052     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
1053     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
1054
1055     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1056     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
1057
1058     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
1059     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
1060
1061     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1062     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
1063
1064     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
1065     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
1066
1067     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1068     HRESULT verticalAlign([in] VARIANT v);
1069
1070     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
1071     HRESULT verticalAlign([retval, out] VARIANT *p);
1072
1073     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1074     HRESULT textTransform([in] BSTR v);
1075
1076     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
1077     HRESULT textTransform([retval, out] BSTR *p);
1078
1079     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1080     HRESULT textAlign([in] BSTR v);
1081
1082     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
1083     HRESULT textAlign([retval, out] BSTR *p);
1084
1085     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1086     HRESULT textIndent([in] VARIANT v);
1087
1088     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
1089     HRESULT textIndent([retval, out] VARIANT *p);
1090
1091     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1092     HRESULT lineHeight([in] VARIANT v);
1093
1094     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
1095     HRESULT lineHeight([retval, out] VARIANT *p);
1096
1097     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1098     HRESULT marginTop([in] VARIANT v);
1099
1100     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
1101     HRESULT marginTop([retval, out] VARIANT *p);
1102
1103     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1104     HRESULT marginRight([in] VARIANT v);
1105
1106     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
1107     HRESULT marginRight([retval, out] VARIANT *p);
1108
1109     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1110     HRESULT marginBottom([in] VARIANT v);
1111
1112     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
1113     HRESULT marginBottom([retval, out] VARIANT *p);
1114
1115     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1116     HRESULT marginLeft([in] VARIANT v);
1117
1118     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
1119     HRESULT marginLeft([retval, out] VARIANT *p);
1120
1121     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1122     HRESULT margin([in] BSTR v);
1123
1124     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
1125     HRESULT margin([retval, out] BSTR *p);
1126
1127     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1128     HRESULT paddingTop([in] VARIANT v);
1129
1130     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
1131     HRESULT paddingTop([retval, out] VARIANT *p);
1132
1133     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1134     HRESULT paddingRight([in] VARIANT v);
1135
1136     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
1137     HRESULT paddingRight([retval, out] VARIANT *p);
1138
1139     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1140     HRESULT paddingBottom([in] VARIANT v);
1141
1142     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
1143     HRESULT paddingBottom([retval, out] VARIANT *p);
1144
1145     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1146     HRESULT paddingLeft([in] VARIANT v);
1147
1148     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
1149     HRESULT paddingLeft([retval, out] VARIANT *p);
1150
1151     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1152     HRESULT padding([in] BSTR v);
1153
1154     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
1155     HRESULT padding([retval, out] BSTR *p);
1156
1157     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1158     HRESULT border([in] BSTR v);
1159
1160     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
1161     HRESULT border([retval, out] BSTR *p);
1162
1163     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1164     HRESULT borderTop([in] BSTR v);
1165
1166     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
1167     HRESULT borderTop([retval, out] BSTR *p);
1168
1169     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1170     HRESULT borderRight([in] BSTR v);
1171
1172     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
1173     HRESULT borderRight([retval, out] BSTR *p);
1174
1175     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1176     HRESULT borderBottom([in] BSTR v);
1177
1178     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
1179     HRESULT borderBottom([retval, out] BSTR *p);
1180
1181     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1182     HRESULT borderLeft([in] BSTR v);
1183
1184     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
1185     HRESULT borderLeft([retval, out] BSTR *p);
1186
1187     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1188     HRESULT borderColor([in] BSTR v);
1189
1190     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
1191     HRESULT borderColor([retval, out] BSTR *p);
1192
1193     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1194     HRESULT borderTopColor([in] VARIANT v);
1195
1196     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
1197     HRESULT borderTopColor([retval, out] VARIANT *p);
1198
1199     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1200     HRESULT borderRightColor([in] VARIANT v);
1201
1202     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
1203     HRESULT borderRightColor([retval, out] VARIANT *p);
1204
1205     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1206     HRESULT borderBottomColor([in] VARIANT v);
1207
1208     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
1209     HRESULT borderBottomColor([retval, out] VARIANT *p);
1210
1211     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1212     HRESULT borderLeftColor([in] VARIANT v);
1213
1214     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
1215     HRESULT borderLeftColor([retval, out] VARIANT *p);
1216
1217     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1218     HRESULT borderWidth([in] BSTR v);
1219
1220     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
1221     HRESULT borderWidth([retval, out] BSTR *p);
1222
1223     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1224     HRESULT borderTopWidth([in] VARIANT v);
1225
1226     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
1227     HRESULT borderTopWidth([retval, out] VARIANT *p);
1228
1229     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1230     HRESULT borderRightWidth([in] VARIANT v);
1231
1232     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
1233     HRESULT borderRightWidth([retval, out] VARIANT *p);
1234
1235     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1236     HRESULT borderBottomWidth([in] VARIANT v);
1237
1238     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
1239     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1240
1241     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1242     HRESULT borderLeftWidth([in] VARIANT v);
1243
1244     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
1245     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1246
1247     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1248     HRESULT borderStyle([in] BSTR v);
1249
1250     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
1251     HRESULT borderStyle([retval, out] BSTR *p);
1252
1253     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1254     HRESULT borderTopStyle([in] BSTR v);
1255
1256     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
1257     HRESULT borderTopStyle([retval, out] BSTR *p);
1258
1259     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1260     HRESULT borderRightStyle([in] BSTR v);
1261
1262     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
1263     HRESULT borderRightStyle([retval, out] BSTR *p);
1264
1265     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1266     HRESULT borderBottomStyle([in] BSTR v);
1267
1268     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
1269     HRESULT borderBottomStyle([retval, out] BSTR *p);
1270
1271     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1272     HRESULT borderLeftStyle([in] BSTR v);
1273
1274     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
1275     HRESULT borderLeftStyle([retval, out] BSTR *p);
1276
1277     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1278     HRESULT width([in] VARIANT v);
1279
1280     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
1281     HRESULT width([retval, out] VARIANT *p);
1282
1283     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1284     HRESULT height([in] VARIANT v);
1285
1286     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
1287     HRESULT height([retval, out] VARIANT *p);
1288
1289     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1290     HRESULT styleFloat([in] BSTR v);
1291
1292     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1293     HRESULT styleFloat([retval, out] BSTR *p);
1294
1295     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1296     HRESULT clear([in] BSTR v);
1297
1298     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1299     HRESULT clear([retval, out] BSTR *p);
1300
1301     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1302     HRESULT display([in] BSTR v);
1303
1304     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1305     HRESULT display([retval, out] BSTR *p);
1306
1307     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1308     HRESULT visibility([in] BSTR v);
1309
1310     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1311     HRESULT visibility([retval, out] BSTR *p);
1312
1313     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1314     HRESULT listStyleType([in] BSTR v);
1315
1316     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1317     HRESULT listStyleType([retval, out] BSTR *p);
1318
1319     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1320     HRESULT listStylePosition([in] BSTR v);
1321
1322     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1323     HRESULT listStylePosition([retval, out] BSTR *p);
1324
1325     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1326     HRESULT listStyleImage([in] BSTR v);
1327
1328     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1329     HRESULT listStyleImage([retval, out] BSTR *p);
1330
1331     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1332     HRESULT listStyle([in] BSTR v);
1333
1334     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1335     HRESULT listStyle([retval, out] BSTR *p);
1336
1337     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1338     HRESULT whiteSpace([in] BSTR v);
1339
1340     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1341     HRESULT whiteSpace([retval, out] BSTR *p);
1342
1343     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1344     HRESULT top([in] VARIANT v);
1345
1346     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1347     HRESULT top([retval, out] VARIANT *p);
1348
1349     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1350     HRESULT left([in] VARIANT v);
1351
1352     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1353     HRESULT left([retval, out] VARIANT *p);
1354
1355     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1356     HRESULT position([retval, out] BSTR *p);
1357
1358     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1359     HRESULT zIndex([in] VARIANT v);
1360
1361     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1362     HRESULT zIndex([retval, out] VARIANT *p);
1363
1364     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1365     HRESULT overflow([in] BSTR v);
1366
1367     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1368     HRESULT overflow([retval, out] BSTR *p);
1369
1370     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1371     HRESULT pageBreakBefore([in] BSTR v);
1372
1373     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1374     HRESULT pageBreakBefore([retval, out] BSTR *p);
1375
1376     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1377     HRESULT pageBreakAfter([in] BSTR v);
1378
1379     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1380     HRESULT pageBreakAfter([retval, out] BSTR *p);
1381
1382     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1383     HRESULT cssText([in] BSTR v);
1384
1385     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1386     HRESULT cssText([retval, out] BSTR *p);
1387
1388     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1389     HRESULT cursor([in] BSTR v);
1390
1391     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1392     HRESULT cursor([retval, out] BSTR *p);
1393
1394     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1395     HRESULT clip([in] BSTR v);
1396
1397     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1398     HRESULT clip([retval, out] BSTR *p);
1399
1400     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1401     HRESULT filter([in] BSTR v);
1402
1403     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1404     HRESULT filter([retval, out] BSTR *p);
1405
1406     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1407     HRESULT setAttribute(
1408         [in] BSTR strAttributeName,
1409         [in] VARIANT AttributeValue,
1410         [defaultvalue(1), in] LONG lFlags);
1411
1412     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1413     HRESULT getAttribute(
1414         [in] BSTR strAttributeName,
1415         [defaultvalue(0), in] LONG lFlags,
1416         [retval, out] VARIANT *AttributeValue);
1417
1418     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1419     HRESULT removeAttribute(
1420         [in] BSTR strAttributeName,
1421         [defaultvalue(1), in] LONG lFlags,
1422         [retval, out] VARIANT_BOOL *pfSuccess);
1423 }
1424
1425 /*****************************************************************************
1426  *    DispHTMLStyle dispinterface
1427  */
1428 [
1429     hidden,
1430     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1431 ]
1432 dispinterface DispHTMLStyle
1433 {
1434 properties:
1435 methods:
1436     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1437     void fontFamily(BSTR v);
1438
1439     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1440     BSTR fontFamily();
1441
1442     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1443     void fontStyle(BSTR v);
1444
1445     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1446     BSTR fontStyle();
1447
1448     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1449     void fontVariant(BSTR v);
1450
1451     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1452     BSTR fontVariant();
1453
1454     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1455     void fontWeight(BSTR v);
1456
1457     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1458     BSTR fontWeight();
1459
1460     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1461     void fontSize(VARIANT v);
1462
1463     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1464     VARIANT fontSize();
1465
1466     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1467     void font(BSTR v);
1468
1469     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1470     BSTR font();
1471
1472     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1473     void color(VARIANT v);
1474
1475     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1476     VARIANT color();
1477
1478     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1479     void background(BSTR v);
1480
1481     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1482     BSTR background();
1483
1484     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1485     void backgroundColor(VARIANT v);
1486
1487     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1488     VARIANT backgroundColor();
1489
1490     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1491     void backgroundImage(BSTR v);
1492
1493     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1494     BSTR backgroundImage();
1495
1496     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1497     void backgroundRepeat(BSTR v);
1498
1499     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1500     BSTR backgroundRepeat();
1501
1502     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1503     void backgroundAttachment(BSTR v);
1504
1505     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1506     BSTR backgroundAttachment();
1507
1508     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1509     void backgroundPosition(BSTR v);
1510
1511     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1512     BSTR backgroundPosition();
1513
1514     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1515     void backgroundPositionX(VARIANT v);
1516
1517     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1518     VARIANT backgroundPositionX();
1519
1520     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1521     void backgroundPositionY(VARIANT v);
1522
1523     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1524     VARIANT backgroundPositionY();
1525
1526     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1527     void wordSpacing(VARIANT v);
1528
1529     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1530     VARIANT wordSpacing();
1531
1532     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1533     void letterSpacing(VARIANT v);
1534
1535     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1536     VARIANT letterSpacing();
1537
1538     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1539     void textDecoration(BSTR v);
1540
1541     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1542     BSTR textDecoration();
1543
1544     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1545     void textDecorationNone(VARIANT_BOOL v);
1546
1547     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1548     VARIANT_BOOL textDecorationNone();
1549
1550     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1551     void textDecorationUnderline(VARIANT_BOOL v);
1552
1553     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1554     VARIANT_BOOL textDecorationUnderline();
1555
1556     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1557     void textDecorationOverline(VARIANT_BOOL v);
1558
1559     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1560     VARIANT_BOOL textDecorationOverline();
1561
1562     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1563     void textDecorationLineThrough(VARIANT_BOOL v);
1564
1565     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1566     VARIANT_BOOL textDecorationLineThrough();
1567
1568     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1569     void textDecorationBlink(VARIANT_BOOL v);
1570
1571     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1572     VARIANT_BOOL textDecorationBlink();
1573
1574     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1575     void verticalAlign(VARIANT v);
1576
1577     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1578     VARIANT verticalAlign();
1579
1580     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1581     void textTransform(BSTR v);
1582
1583     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1584     BSTR textTransform();
1585
1586     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1587     void textAlign(BSTR v);
1588
1589     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1590     BSTR textAlign();
1591
1592     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1593     void textIndent(VARIANT v);
1594
1595     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1596     VARIANT textIndent();
1597
1598     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1599     void lineHeight(VARIANT v);
1600
1601     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1602     VARIANT lineHeight();
1603
1604     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1605     void marginTop(VARIANT v);
1606
1607     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1608     VARIANT marginTop();
1609
1610     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1611     void marginRight(VARIANT v);
1612
1613     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1614     VARIANT marginRight();
1615
1616     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1617     void marginBottom(VARIANT v);
1618
1619     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1620     VARIANT marginBottom();
1621
1622     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1623     void marginLeft(VARIANT v);
1624
1625     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1626     VARIANT marginLeft();
1627
1628     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1629     void margin(BSTR v);
1630
1631     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1632     BSTR margin();
1633
1634     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1635     void paddingTop(VARIANT v);
1636
1637     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1638     VARIANT paddingTop();
1639
1640     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1641     void paddingRight(VARIANT v);
1642
1643     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1644     VARIANT paddingRight();
1645
1646     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1647     void paddingBottom(VARIANT v);
1648
1649     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1650     VARIANT paddingBottom();
1651
1652     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1653     void paddingLeft(VARIANT v);
1654
1655     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1656     VARIANT paddingLeft();
1657
1658     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1659     void padding(BSTR v);
1660
1661     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1662     BSTR padding();
1663
1664     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1665     void border(BSTR v);
1666
1667     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1668     BSTR border();
1669
1670     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1671     void borderTop(BSTR v);
1672
1673     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1674     BSTR borderTop();
1675
1676     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1677     void borderRight(BSTR v);
1678
1679     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1680     BSTR borderRight();
1681
1682     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1683     void borderBottom(BSTR v);
1684
1685     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1686     BSTR borderBottom();
1687
1688     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1689     void borderLeft(BSTR v);
1690
1691     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1692     BSTR borderLeft();
1693
1694     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1695     void borderColor(BSTR v);
1696
1697     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1698     BSTR borderColor();
1699
1700     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1701     void borderTopColor(VARIANT v);
1702
1703     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1704     VARIANT borderTopColor();
1705
1706     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1707     void borderRightColor(VARIANT v);
1708
1709     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1710     VARIANT borderRightColor();
1711
1712     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1713     void borderBottomColor(VARIANT v);
1714
1715     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1716     VARIANT borderBottomColor();
1717
1718     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1719     void borderLeftColor(VARIANT v);
1720
1721     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1722     VARIANT borderLeftColor();
1723
1724     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1725     void borderWidth(BSTR v);
1726
1727     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1728     BSTR borderWidth();
1729
1730     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1731     void borderTopWidth(VARIANT v);
1732
1733     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1734     VARIANT borderTopWidth();
1735
1736     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1737     void borderRightWidth(VARIANT v);
1738
1739     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1740     VARIANT borderRightWidth();
1741
1742     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1743     void borderBottomWidth(VARIANT v);
1744
1745     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1746     VARIANT borderBottomWidth();
1747
1748     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1749     void borderLeftWidth(VARIANT v);
1750
1751     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1752     VARIANT borderLeftWidth();
1753
1754     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1755     void borderStyle(BSTR v);
1756
1757     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1758     BSTR borderStyle();
1759
1760     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1761     void borderTopStyle(BSTR v);
1762
1763     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1764     BSTR borderTopStyle();
1765
1766     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1767     void borderRightStyle(BSTR v);
1768
1769     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1770     BSTR borderRightStyle();
1771
1772     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1773     void borderBottomStyle(BSTR v);
1774
1775     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1776     BSTR borderBottomStyle();
1777
1778     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1779     void borderLeftStyle(BSTR v);
1780
1781     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1782     BSTR borderLeftStyle();
1783
1784     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1785     void width(VARIANT v);
1786
1787     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1788     VARIANT width();
1789
1790     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1791     void height(VARIANT v);
1792
1793     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1794     VARIANT height();
1795
1796     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1797     void styleFloat(BSTR v);
1798
1799     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1800     BSTR styleFloat();
1801
1802     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1803     void clear(BSTR v);
1804
1805     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1806     BSTR clear();
1807
1808     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1809     void display(BSTR v);
1810
1811     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1812     BSTR display();
1813
1814     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1815     void visibility(BSTR v);
1816
1817     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1818     BSTR visibility();
1819
1820     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1821     void listStyleType(BSTR v);
1822
1823     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1824     BSTR listStyleType();
1825
1826     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1827     void listStylePosition(BSTR v);
1828
1829     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1830     BSTR listStylePosition();
1831
1832     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1833     void listStyleImage(BSTR v);
1834
1835     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1836     BSTR listStyleImage();
1837
1838     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1839     void listStyle(BSTR v);
1840
1841     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1842     BSTR listStyle();
1843
1844     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1845     void whiteSpace(BSTR v);
1846
1847     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1848     BSTR whiteSpace();
1849
1850     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1851     void top(VARIANT v);
1852
1853     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1854     VARIANT top();
1855
1856     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1857     void left(VARIANT v);
1858
1859     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1860     VARIANT left();
1861
1862     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1863     void zIndex(VARIANT v);
1864
1865     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1866     VARIANT zIndex();
1867
1868     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1869     void overflow(BSTR v);
1870
1871     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1872     BSTR overflow();
1873
1874     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1875     void pageBreakBefore(BSTR v);
1876
1877     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1878     BSTR pageBreakBefore();
1879
1880     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1881     void pageBreakAfter(BSTR v);
1882
1883     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1884     BSTR pageBreakAfter();
1885
1886     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1887     void cssText(BSTR v);
1888
1889     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1890     BSTR cssText();
1891
1892     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1893     void pixelTop(LONG v);
1894
1895     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1896     LONG pixelTop();
1897
1898     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1899     void pixelLeft(LONG v);
1900
1901     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1902     LONG pixelLeft();
1903
1904     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1905     void pixelWidth(LONG v);
1906
1907     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1908     LONG pixelWidth();
1909
1910     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1911     void pixelHeight(LONG v);
1912
1913     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1914     LONG pixelHeight();
1915
1916     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1917     void posTop(float v);
1918
1919     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1920     float posTop();
1921
1922     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1923     void posLeft(float v);
1924
1925     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1926     float posLeft();
1927
1928     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1929     void posWidth(float v);
1930
1931     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1932     float posWidth();
1933
1934     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1935     void posHeight(float v);
1936
1937     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1938     float posHeight();
1939
1940     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1941     void cursor(BSTR v);
1942
1943     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1944     BSTR cursor();
1945
1946     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1947     void clip(BSTR v);
1948
1949     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1950     BSTR clip();
1951
1952     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1953     void filter(BSTR v);
1954
1955     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1956     BSTR filter();
1957
1958     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1959     void setAttribute(
1960             [in] BSTR strAttributeName,
1961             [in] VARIANT AttributeValue,
1962             [in, defaultvalue(1)] LONG lFlags);
1963
1964     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1965     VARIANT getAttribute(
1966             [in] BSTR strAttributeName,
1967             [in, defaultvalue(0)] LONG lFlags);
1968
1969     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1970     VARIANT_BOOL removeAttribute(
1971             [in] BSTR strAttributeName,
1972             [in, defaultvalue(1)] LONG lFlags);
1973
1974     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1975     BSTR toString();
1976
1977     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1978     void tableLayout(BSTR v);
1979
1980     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1981     BSTR tableLayout();
1982
1983     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1984     void borderCollapse(BSTR v);
1985
1986     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1987     BSTR borderCollapse();
1988
1989     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1990     void direction(BSTR v);
1991
1992     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1993     BSTR direction();
1994
1995     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1996     void behavior(BSTR v);
1997
1998     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1999     BSTR behavior();
2000
2001     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
2002     void setExpression(
2003             [in] BSTR propname,
2004             [in] BSTR expression,
2005             [in, defaultvalue("")] BSTR language);
2006
2007     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
2008     VARIANT getExpression([in] BSTR propname);
2009
2010     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
2011     VARIANT_BOOL removeExpression([in] BSTR propname);
2012
2013     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2014     void position(BSTR v);
2015
2016     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
2017     BSTR position();
2018
2019     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2020     void unicodeBidi(BSTR v);
2021
2022     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
2023     BSTR unicodeBidi();
2024
2025     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2026     void bottom(VARIANT v);
2027
2028     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
2029     VARIANT bottom();
2030
2031     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2032     void right(VARIANT v);
2033
2034     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
2035     VARIANT right();
2036
2037     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2038     void pixelBottom(LONG v);
2039
2040     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
2041     LONG pixelBottom();
2042
2043     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2044     void pixelRight(LONG v);
2045
2046     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
2047     LONG pixelRight();
2048
2049     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2050     void posBottom(float v);
2051
2052     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
2053     float posBottom();
2054
2055     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2056     void posRight(float v);
2057
2058     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
2059     float posRight();
2060
2061     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2062     void imeMode(BSTR v);
2063
2064     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
2065     BSTR imeMode();
2066
2067     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2068     void rubyAlign(BSTR v);
2069
2070     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
2071     BSTR rubyAlign();
2072
2073     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2074     void rubyPosition(BSTR v);
2075
2076     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
2077     BSTR rubyPosition();
2078
2079     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2080     void rubyOverhang(BSTR v);
2081
2082     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
2083     BSTR rubyOverhang();
2084
2085     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2086     void layoutGridChar(VARIANT v);
2087
2088     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
2089     VARIANT layoutGridChar();
2090
2091     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2092     void layoutGridLine(VARIANT v);
2093
2094     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
2095     VARIANT layoutGridLine();
2096
2097     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2098     void layoutGridMode(BSTR v);
2099
2100     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
2101     BSTR layoutGridMode();
2102
2103     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2104     void layoutGridType(BSTR v);
2105
2106     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
2107     BSTR layoutGridType();
2108
2109     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2110     void layoutGrid(BSTR v);
2111
2112     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
2113     BSTR layoutGrid();
2114
2115     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2116     void wordBreak(BSTR v);
2117
2118     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
2119     BSTR wordBreak();
2120
2121     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2122     void lineBreak(BSTR v);
2123
2124     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
2125     BSTR lineBreak();
2126
2127     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2128     void textJustify(BSTR v);
2129
2130     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
2131     BSTR textJustify();
2132
2133     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2134     void textJustifyTrim(BSTR v);
2135
2136     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
2137     BSTR textJustifyTrim();
2138
2139     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2140     void textKashida(VARIANT v);
2141
2142     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
2143     VARIANT textKashida();
2144
2145     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2146     void textAutospace(BSTR v);
2147
2148     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
2149     BSTR textAutospace();
2150
2151     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2152     void overflowX(BSTR v);
2153
2154     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
2155     BSTR overflowX();
2156
2157     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2158     void overflowY(BSTR v);
2159
2160     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
2161     BSTR overflowY();
2162
2163     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2164     void accelerator(BSTR v);
2165
2166     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
2167     BSTR accelerator();
2168
2169     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2170     void layoutFlow(BSTR v);
2171
2172     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2173     BSTR layoutFlow();
2174
2175     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2176     void zoom(VARIANT v);
2177
2178     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2179     VARIANT zoom();
2180
2181     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2182     void wordWrap(BSTR v);
2183
2184     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2185     BSTR wordWrap();
2186
2187     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2188     void textUnderlinePosition(BSTR v);
2189
2190     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2191     BSTR textUnderlinePosition();
2192
2193     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2194     void scrollbarBaseColor(VARIANT v);
2195
2196     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2197     VARIANT scrollbarBaseColor();
2198
2199     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2200     void scrollbarFaceColor(VARIANT v);
2201
2202     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2203     VARIANT scrollbarFaceColor();
2204
2205     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2206     void scrollbar3dLightColor(VARIANT v);
2207
2208     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2209     VARIANT scrollbar3dLightColor();
2210
2211     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2212     void scrollbarShadowColor(VARIANT v);
2213
2214     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2215     VARIANT scrollbarShadowColor();
2216
2217     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2218     void scrollbarHighlightColor(VARIANT v);
2219
2220     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2221     VARIANT scrollbarHighlightColor();
2222
2223     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2224     void scrollbarDarkShadowColor(VARIANT v);
2225
2226     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2227     VARIANT scrollbarDarkShadowColor();
2228
2229     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2230     void scrollbarArrowColor(VARIANT v);
2231
2232     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2233     VARIANT scrollbarArrowColor();
2234
2235     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2236     void scrollbarTrackColor(VARIANT v);
2237
2238     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2239     VARIANT scrollbarTrackColor();
2240
2241     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2242     void writingMode(BSTR v);
2243
2244     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2245     BSTR writingMode();
2246
2247     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2248     void textAlignLast(BSTR v);
2249
2250     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2251     BSTR textAlignLast();
2252
2253     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2254     void textKashidaSpace(VARIANT v);
2255
2256     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2257     VARIANT textKashidaSpace();
2258
2259     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2260     void textOverflow(BSTR v);
2261
2262     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2263     BSTR textOverflow();
2264
2265     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2266     void minHeight(VARIANT v);
2267
2268     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2269     VARIANT minHeight();
2270 }
2271
2272 [
2273     odl,
2274     oleautomation,
2275     dual,
2276     uuid(3050f656-98b5-11cf-bb82-00aa00bdce0b)
2277 ]
2278 interface IHTMLStyle3 : IDispatch
2279 {
2280     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2281     HRESULT layoutFlow([in] BSTR v);
2282
2283     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
2284     HRESULT layoutFlow([retval, out] BSTR * p);
2285
2286     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2287     HRESULT zoom([in] VARIANT v);
2288
2289     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
2290     HRESULT zoom([retval, out] VARIANT * p);
2291
2292     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2293     HRESULT wordWrap([in] BSTR v);
2294
2295     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
2296     HRESULT wordWrap([retval, out] BSTR * p);
2297
2298     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2299     HRESULT textUnderlinePosition([in] BSTR v);
2300
2301     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
2302     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2303
2304     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2305     HRESULT scrollbarBaseColor([in] VARIANT v);
2306
2307     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
2308     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2309
2310     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2311     HRESULT scrollbarFaceColor([in] VARIANT v);
2312
2313     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
2314     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2315
2316     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2317     HRESULT scrollbar3dLightColor([in] VARIANT v);
2318
2319     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2320     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2321
2322     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2323     HRESULT scrollbarShadowColor([in] VARIANT v);
2324
2325     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2326     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2327
2328     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2329     HRESULT scrollbarHighlightColor([in] VARIANT v);
2330
2331     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2332     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2333
2334     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2335     HRESULT scrollbarDarkShadowColor([in] VARIANT v);
2336
2337     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2338     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2339
2340     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2341     HRESULT scrollbarArrowColor([in] VARIANT v);
2342
2343     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
2344     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2345
2346     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2347     HRESULT scrollbarTrackColor([in] VARIANT v);
2348
2349     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
2350     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2351
2352     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2353     HRESULT writingMode([in] BSTR v);
2354
2355     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
2356     HRESULT writingMode([retval, out] BSTR * p);
2357
2358     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2359     HRESULT textAlignLast([in] BSTR v);
2360
2361     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
2362     HRESULT textAlignLast([retval, out] BSTR * p);
2363
2364     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2365     HRESULT textKashidaSpace([in] VARIANT v);
2366
2367     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
2368     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2369 }
2370
2371 /*****************************************************************************
2372  *    IHTMLSytyle4 interface
2373  */
2374 [
2375     odl,
2376     oleautomation,
2377     dual,
2378     uuid(3050f816-98b5-11cf-bb82-00aa00bdce0b)
2379 ]
2380 interface IHTMLStyle4 : IDispatch
2381 {
2382     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2383     HRESULT textOverflow([in] BSTR v);
2384
2385     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
2386     HRESULT textOverflow([retval, out] BSTR * p);
2387
2388     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2389     HRESULT minHeight([in] VARIANT v);
2390
2391     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
2392     HRESULT minHeight([retval, out] VARIANT * p);
2393 }
2394
2395 [
2396     noncreatable,
2397     uuid(3050f285-98b5-11cf-bb82-00aa00bdce0b)
2398 ]
2399 coclass HTMLStyle
2400 {
2401     [default] dispinterface DispHTMLStyle;
2402     interface IHTMLStyle;
2403     interface IHTMLStyle2;
2404     interface IHTMLStyle3;
2405     interface IHTMLStyle4;
2406     /* interface IHTMLStyle5; */
2407 }
2408
2409 /*****************************************************************************
2410  *    IHTMLRenderStyle interface
2411  */
2412 [
2413     odl,
2414     oleautomation,
2415     dual,
2416     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
2417 ]
2418 interface IHTMLRenderStyle : IDispatch
2419 {
2420     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2421     HRESULT textLineThroughStyle([in] BSTR v);
2422
2423     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
2424     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2425
2426     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2427     HRESULT textUnderlineStyle([in] BSTR v);
2428
2429     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2430     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2431
2432     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2433     HRESULT textEffect([in] BSTR v);
2434
2435     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2436     HRESULT textEffect([retval, out] BSTR *p);
2437
2438     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2439     HRESULT textColor([in] VARIANT v);
2440
2441     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2442     HRESULT textColor([retval, out] VARIANT *p);
2443
2444     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2445     HRESULT textBackgroundColor([in] VARIANT v);
2446
2447     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2448     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2449
2450     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2451     HRESULT textDecorationColor([in] VARIANT v);
2452
2453     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2454     HRESULT textDecorationColor([retval, out] VARIANT *p);
2455
2456     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2457     HRESULT renderingPriority([in] LONG v);
2458
2459     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2460     HRESULT renderingPriority([retval, out] LONG *p);
2461
2462     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2463     HRESULT defaultTextSelection([in] BSTR v);
2464
2465     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2466     HRESULT defaultTextSelection([retval, out] BSTR *p);
2467
2468     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2469     HRESULT textDecoration([in] BSTR v);
2470
2471     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2472     HRESULT textDecoration([retval, out] BSTR *p);
2473 }
2474
2475 /*****************************************************************************
2476  *    IHTMLCurrentStyle interface
2477  */
2478 [
2479     odl,
2480     oleautomation,
2481     dual,
2482     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2483 ]
2484 interface IHTMLCurrentStyle : IDispatch
2485 {
2486     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2487     HRESULT position([retval, out] BSTR *p);
2488
2489     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2490     HRESULT styleFloat([retval, out] BSTR *p);
2491
2492     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2493     HRESULT color([retval, out] VARIANT *p);
2494
2495     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2496     HRESULT backgroundColor([retval, out] VARIANT *p);
2497
2498     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2499     HRESULT fontFamily([retval, out] BSTR *p);
2500
2501     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2502     HRESULT fontStyle([retval, out] BSTR *p);
2503
2504     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2505     HRESULT fontVariant([retval, out] BSTR *p);
2506
2507     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2508     HRESULT fontWeight([retval, out] VARIANT *p);
2509
2510     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2511     HRESULT fontSize([retval, out] VARIANT *p);
2512
2513     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2514     HRESULT backgroundImage([retval, out] BSTR *p);
2515
2516     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2517     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2518
2519     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2520     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2521
2522     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2523     HRESULT backgroundRepeat([retval, out] BSTR *p);
2524
2525     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2526     HRESULT borderLeftColor([retval, out] VARIANT *p);
2527
2528     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2529     HRESULT borderTopColor([retval, out] VARIANT *p);
2530
2531     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2532     HRESULT borderRightColor([retval, out] VARIANT *p);
2533
2534     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2535     HRESULT borderBottomColor([retval, out] VARIANT *p);
2536
2537     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2538     HRESULT borderTopStyle([retval, out] BSTR *p);
2539
2540     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2541     HRESULT borderRightStyle([retval, out] BSTR *p);
2542
2543     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2544     HRESULT borderBottomStyle([retval, out] BSTR *p);
2545
2546     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2547     HRESULT borderLeftStyle([retval, out] BSTR *p);
2548
2549     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2550     HRESULT borderTopWidth([retval, out] VARIANT *p);
2551
2552     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2553     HRESULT borderRightWidth([retval, out] VARIANT *p);
2554
2555     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2556     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2557
2558     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2559     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2560
2561     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2562     HRESULT left([retval, out] VARIANT *p);
2563
2564     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2565     HRESULT top([retval, out] VARIANT *p);
2566
2567     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2568     HRESULT width([retval, out] VARIANT *p);
2569
2570     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2571     HRESULT height([retval, out] VARIANT *p);
2572
2573     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2574     HRESULT paddingLeft([retval, out] VARIANT *p);
2575
2576     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2577     HRESULT paddingTop([retval, out] VARIANT *p);
2578
2579     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2580     HRESULT paddingRight([retval, out] VARIANT *p);
2581
2582     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2583     HRESULT paddingBottom([retval, out] VARIANT *p);
2584
2585     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2586     HRESULT textAlign([retval, out] BSTR *p);
2587
2588     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2589     HRESULT textDecoration([retval, out] BSTR *p);
2590
2591     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2592     HRESULT display([retval, out] BSTR *p);
2593
2594     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2595     HRESULT visibility([retval, out] BSTR *p);
2596
2597     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2598     HRESULT zIndex([retval, out] VARIANT *p);
2599
2600     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2601     HRESULT letterSpacing([retval, out] VARIANT *p);
2602
2603     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2604     HRESULT lineHeight([retval, out] VARIANT *p);
2605
2606     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2607     HRESULT textIndent([retval, out] VARIANT *p);
2608
2609     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2610     HRESULT verticalAlign([retval, out] VARIANT *p);
2611
2612     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2613     HRESULT backgroundAttachment([retval, out] BSTR *p);
2614
2615     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2616     HRESULT marginTop([retval, out] VARIANT *p);
2617
2618     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2619     HRESULT marginRight([retval, out] VARIANT *p);
2620
2621     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2622     HRESULT marginBottom([retval, out] VARIANT *p);
2623
2624     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2625     HRESULT marginLeft([retval, out] VARIANT *p);
2626
2627     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2628     HRESULT clear([retval, out] BSTR *p);
2629
2630     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2631     HRESULT listStyleType([retval, out] BSTR *p);
2632
2633     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2634     HRESULT listStylePosition([retval, out] BSTR *p);
2635
2636     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2637     HRESULT listStyleImage([retval, out] BSTR *p);
2638
2639     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2640     HRESULT clipTop([retval, out] VARIANT *p);
2641
2642     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2643     HRESULT clipRight([retval, out] VARIANT *p);
2644
2645     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2646     HRESULT clipBottom([retval, out] VARIANT *p);
2647
2648     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2649     HRESULT clipLeft([retval, out] VARIANT *p);
2650
2651     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2652     HRESULT overflow([retval, out] BSTR *p);
2653
2654     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2655     HRESULT pageBreakBefore([retval, out] BSTR *p);
2656
2657     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2658     HRESULT pageBreakAfter([retval, out] BSTR *p);
2659
2660     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2661     HRESULT cursor([retval, out] BSTR *p);
2662
2663     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2664     HRESULT tableLayout([retval, out] BSTR *p);
2665
2666     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2667     HRESULT borderCollapse([retval, out] BSTR *p);
2668
2669     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2670     HRESULT direction([retval, out] BSTR *p);
2671
2672     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2673     HRESULT behavior([retval, out] BSTR *p);
2674
2675     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2676     HRESULT getAttribute(
2677         [in] BSTR strAttributeName,
2678         [defaultvalue(0), in] LONG lFlags,
2679         [retval, out] VARIANT *AttributeValue);
2680
2681     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2682     HRESULT unicodeBidi([retval, out] BSTR *p);
2683
2684     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2685     HRESULT right([retval, out] VARIANT *p);
2686
2687     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2688     HRESULT bottom([retval, out] VARIANT *p);
2689
2690     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2691     HRESULT imeMode([retval, out] BSTR *p);
2692
2693     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2694     HRESULT rubyAlign([retval, out] BSTR *p);
2695
2696     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2697     HRESULT rubyPosition([retval, out] BSTR *p);
2698
2699     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2700     HRESULT rubyOverhang([retval, out] BSTR *p);
2701
2702     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2703     HRESULT textAutospace([retval, out] BSTR *p);
2704
2705     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2706     HRESULT lineBreak([retval, out] BSTR *p);
2707
2708     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2709     HRESULT wordBreak([retval, out] BSTR *p);
2710
2711     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2712     HRESULT textJustify([retval, out] BSTR *p);
2713
2714     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2715     HRESULT textJustifyTrim([retval, out] BSTR *p);
2716
2717     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2718     HRESULT textKashida([retval, out] VARIANT *p);
2719
2720     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2721     HRESULT blockDirection([retval, out] BSTR *p);
2722
2723     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2724     HRESULT layoutGridChar([retval, out] VARIANT *p);
2725
2726     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2727     HRESULT layoutGridLine([retval, out] VARIANT *p);
2728
2729     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2730     HRESULT layoutGridMode([retval, out] BSTR *p);
2731
2732     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2733     HRESULT layoutGridType([retval, out] BSTR *p);
2734
2735     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2736     HRESULT borderStyle([retval, out] BSTR *p);
2737
2738     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2739     HRESULT borderColor([retval, out] BSTR *p);
2740
2741     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2742     HRESULT borderWidth([retval, out] BSTR *p);
2743
2744     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2745     HRESULT padding([retval, out] BSTR *p);
2746
2747     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2748     HRESULT margin([retval, out] BSTR *p);
2749
2750     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2751     HRESULT accelerator([retval, out] BSTR *p);
2752
2753     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2754     HRESULT overflowX([retval, out] BSTR *p);
2755
2756     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2757     HRESULT overflowY([retval, out] BSTR *p);
2758
2759     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2760     HRESULT textTransform([retval, out] BSTR *p);
2761 }
2762
2763 /*****************************************************************************
2764  *    IHTMLCurrentStyle2 interface
2765  */
2766 [
2767     odl,
2768     oleautomation,
2769     dual,
2770     uuid(3050f658-98b5-11cf-bb82-00aa00bdce0b)
2771 ]
2772 interface IHTMLCurrentStyle2 : IDispatch
2773 {
2774     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
2775     HRESULT layoutFlow([retval, out] BSTR * p);
2776
2777     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
2778     HRESULT wordWrap([retval, out] BSTR * p);
2779
2780     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
2781     HRESULT textUnderlinePosition([retval, out] BSTR * p);
2782
2783     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
2784     HRESULT hasLayout([retval, out] VARIANT_BOOL * p);
2785
2786     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
2787     HRESULT scrollbarBaseColor([retval, out] VARIANT * p);
2788
2789     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
2790     HRESULT scrollbarFaceColor([retval, out] VARIANT * p);
2791
2792     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
2793     HRESULT scrollbar3dLightColor([retval, out] VARIANT * p);
2794
2795     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
2796     HRESULT scrollbarShadowColor([retval, out] VARIANT * p);
2797
2798     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
2799     HRESULT scrollbarHighlightColor([retval, out] VARIANT * p);
2800
2801     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
2802     HRESULT scrollbarDarkShadowColor([retval, out] VARIANT * p);
2803
2804     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
2805     HRESULT scrollbarArrowColor([retval, out] VARIANT * p);
2806
2807     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
2808     HRESULT scrollbarTrackColor([retval, out] VARIANT * p);
2809
2810     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
2811     HRESULT writingMode([retval, out] BSTR * p);
2812
2813     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
2814     HRESULT zoom([retval, out] VARIANT * p);
2815
2816     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
2817     HRESULT filter([retval, out] BSTR * p);
2818
2819     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
2820     HRESULT textAlignLast([retval, out] BSTR * p);
2821
2822     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
2823     HRESULT textKashidaSpace([retval, out] VARIANT * p);
2824
2825     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
2826     HRESULT isBlock([retval, out] VARIANT_BOOL * p);
2827 }
2828
2829 /*****************************************************************************
2830  *    IHTMLCurrentStyle3 interface
2831  */
2832 [
2833     odl,
2834     oleautomation,
2835     dual,
2836     uuid(3050f818-98b5-11cf-bb82-00aa00bdce0b)
2837 ]
2838 interface IHTMLCurrentStyle3 : IDispatch
2839 {
2840     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
2841     HRESULT textOverflow([retval, out] BSTR * p);
2842
2843     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
2844     HRESULT minHeight([retval, out] VARIANT * p);
2845
2846     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
2847     HRESULT wordSpacing([retval, out] VARIANT * p);
2848
2849     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
2850     HRESULT whiteSpace([retval, out] BSTR * p);
2851 }
2852
2853 /*****************************************************************************
2854  *    IHTMLCurrentStyle4 interface
2855  */
2856 [
2857     odl,
2858     oleautomation,
2859     dual,
2860     uuid(3050f33b-98b5-11cf-bb82-00aa00bdce0b)
2861 ]
2862 interface IHTMLCurrentStyle4 : IDispatch
2863 {
2864     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
2865     HRESULT msInterpolationMode([retval, out] BSTR * p);
2866
2867     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
2868     HRESULT maxHeight([retval, out] VARIANT * p);
2869
2870     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
2871     HRESULT minWidth([retval, out] VARIANT * p);
2872
2873     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
2874     HRESULT maxWidth([retval, out] VARIANT * p);
2875 };
2876
2877 /*****************************************************************************
2878  *    DispHTMLCurrentStyle dispinterface
2879  */
2880 [
2881     hidden,
2882     uuid(3050f557-98b5-11cf-bb82-00aa00bdce0b)
2883 ]
2884 dispinterface DispHTMLCurrentStyle
2885 {
2886 properties:
2887 methods:
2888     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2889     BSTR position();
2890
2891     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2892     BSTR styleFloat();
2893
2894     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2895     VARIANT color();
2896
2897     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2898     VARIANT backgroundColor();
2899
2900     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2901     BSTR fontFamily();
2902
2903     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2904     BSTR fontStyle();
2905
2906     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2907     BSTR fontVariant();
2908
2909     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2910     VARIANT fontWeight();
2911
2912     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2913     VARIANT fontSize();
2914
2915     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2916     BSTR backgroundImage();
2917
2918     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2919     VARIANT backgroundPositionX();
2920
2921     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2922     VARIANT backgroundPositionY();
2923
2924     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2925     BSTR backgroundRepeat();
2926
2927     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2928     VARIANT borderLeftColor();
2929
2930     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2931     VARIANT borderTopColor();
2932
2933     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2934     VARIANT borderRightColor();
2935
2936     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2937     VARIANT borderBottomColor();
2938
2939     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2940     BSTR borderTopStyle();
2941
2942     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2943     BSTR borderRightStyle();
2944
2945     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2946     BSTR borderBottomStyle();
2947
2948     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2949     BSTR borderLeftStyle();
2950
2951     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2952     VARIANT borderTopWidth();
2953
2954     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2955     VARIANT borderRightWidth();
2956
2957     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2958     VARIANT borderBottomWidth();
2959
2960     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2961     VARIANT borderLeftWidth();
2962
2963     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2964     VARIANT left();
2965
2966     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2967     VARIANT top();
2968
2969     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2970     VARIANT width();
2971
2972     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2973     VARIANT height();
2974
2975     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2976     VARIANT paddingLeft();
2977
2978     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2979     VARIANT paddingTop();
2980
2981     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2982     VARIANT paddingRight();
2983
2984     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2985     VARIANT paddingBottom();
2986
2987     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2988     BSTR textAlign();
2989
2990     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2991     BSTR textDecoration();
2992
2993     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2994     BSTR display();
2995
2996     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2997     BSTR visibility();
2998
2999     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
3000     VARIANT zIndex();
3001
3002     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
3003     VARIANT letterSpacing();
3004
3005     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
3006     VARIANT lineHeight();
3007
3008     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
3009     VARIANT textIndent();
3010
3011     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
3012     VARIANT verticalAlign();
3013
3014     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
3015     BSTR backgroundAttachment();
3016
3017     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
3018     VARIANT marginTop();
3019
3020     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
3021     VARIANT marginRight();
3022
3023     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
3024     VARIANT marginBottom();
3025
3026     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
3027     VARIANT marginLeft();
3028
3029     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
3030     BSTR clear();
3031
3032     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
3033     BSTR listStyleType();
3034
3035     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
3036     BSTR listStylePosition();
3037
3038     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
3039     BSTR listStyleImage();
3040
3041     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
3042     VARIANT clipTop();
3043
3044     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
3045     VARIANT clipRight();
3046
3047     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
3048     VARIANT clipBottom();
3049
3050     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
3051     VARIANT clipLeft();
3052
3053     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
3054     BSTR overflow();
3055
3056     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
3057     BSTR pageBreakBefore();
3058
3059     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
3060     BSTR pageBreakAfter();
3061
3062     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
3063     BSTR cursor();
3064
3065     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
3066     BSTR tableLayout();
3067
3068     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
3069     BSTR borderCollapse();
3070
3071     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
3072     BSTR direction();
3073
3074     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
3075     BSTR behavior();
3076
3077     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
3078     VARIANT getAttribute(
3079             [in] BSTR strAttributeName,
3080             [in, defaultvalue(0)] LONG lFlags);
3081
3082     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
3083     BSTR unicodeBidi();
3084
3085     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
3086     VARIANT right();
3087
3088     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
3089     VARIANT bottom();
3090
3091     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
3092     BSTR imeMode();
3093
3094     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
3095     BSTR rubyAlign();
3096
3097     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
3098     BSTR rubyPosition();
3099
3100     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
3101     BSTR rubyOverhang();
3102
3103     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
3104     BSTR textAutospace();
3105
3106     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
3107     BSTR lineBreak();
3108
3109     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
3110     BSTR wordBreak();
3111
3112     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
3113     BSTR textJustify();
3114
3115     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
3116     BSTR textJustifyTrim();
3117
3118     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
3119     VARIANT textKashida();
3120
3121     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
3122     BSTR blockDirection();
3123
3124     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
3125     VARIANT layoutGridChar();
3126
3127     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
3128     VARIANT layoutGridLine();
3129
3130     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
3131     BSTR layoutGridMode();
3132
3133     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
3134     BSTR layoutGridType();
3135
3136     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
3137     BSTR borderStyle();
3138
3139     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
3140     BSTR borderColor();
3141
3142     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
3143     BSTR borderWidth();
3144
3145     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
3146     BSTR padding();
3147
3148     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
3149     BSTR margin();
3150
3151     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
3152     BSTR accelerator();
3153
3154     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
3155     BSTR overflowX();
3156
3157     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
3158     BSTR overflowY();
3159
3160     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
3161     BSTR textTransform();
3162
3163     [propget, id(DISPID_IHTMLCURRENTSTYLE2_LAYOUTFLOW), displaybind, bindable]
3164     BSTR layoutFlow();
3165
3166     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WORDWRAP), displaybind, bindable]
3167     BSTR wordWrap();
3168
3169     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTUNDERLINEPOSITION), displaybind, bindable]
3170     BSTR textUnderlinePosition();
3171
3172     [propget, id(DISPID_IHTMLCURRENTSTYLE2_HASLAYOUT), displaybind, bindable]
3173     VARIANT_BOOL hasLayout();
3174
3175     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARBASECOLOR), displaybind, bindable]
3176     VARIANT scrollbarBaseColor();
3177
3178     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARFACECOLOR), displaybind, bindable]
3179     VARIANT scrollbarFaceColor();
3180
3181     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
3182     VARIANT scrollbar3dLightColor();
3183
3184     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARSHADOWCOLOR), displaybind, bindable]
3185     VARIANT scrollbarShadowColor();
3186
3187     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
3188     VARIANT scrollbarHighlightColor();
3189
3190     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
3191     VARIANT scrollbarDarkShadowColor();
3192
3193     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARARROWCOLOR), displaybind, bindable]
3194     VARIANT scrollbarArrowColor();
3195
3196     [propget, id(DISPID_IHTMLCURRENTSTYLE2_SCROLLBARTRACKCOLOR), displaybind, bindable]
3197     VARIANT scrollbarTrackColor();
3198
3199     [propget, id(DISPID_IHTMLCURRENTSTYLE2_WRITINGMODE), displaybind, bindable]
3200     BSTR writingMode();
3201
3202     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ZOOM), displaybind, bindable]
3203     VARIANT zoom();
3204
3205     [propget, id(DISPID_IHTMLCURRENTSTYLE2_FILTER), displaybind, bindable]
3206     BSTR filter();
3207
3208     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTALIGNLAST), displaybind, bindable]
3209     BSTR textAlignLast();
3210
3211     [propget, id(DISPID_IHTMLCURRENTSTYLE2_TEXTKASHIDASPACE), displaybind, bindable]
3212     VARIANT textKashidaSpace();
3213
3214     [propget, id(DISPID_IHTMLCURRENTSTYLE2_ISBLOCK), displaybind, bindable, hidden, restricted, nonbrowsable]
3215     VARIANT_BOOL isBlock();
3216
3217     [propget, id(DISPID_IHTMLCURRENTSTYLE3_TEXTOVERFLOW), displaybind, bindable]
3218     BSTR textOverflow();
3219
3220     [propget, id(DISPID_IHTMLCURRENTSTYLE3_MINHEIGHT), displaybind, bindable]
3221     VARIANT minHeight();
3222
3223     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WORDSPACING), displaybind, bindable]
3224     VARIANT wordSpacing();
3225
3226     [propget, id(DISPID_IHTMLCURRENTSTYLE3_WHITESPACE), displaybind, bindable]
3227     BSTR whiteSpace();
3228
3229     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MSINTERPOLATIONMODE), displaybind, bindable]
3230     BSTR msInterpolationMode();
3231
3232     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXHEIGHT), displaybind, bindable]
3233     VARIANT maxHeight();
3234
3235     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MINWIDTH), displaybind, bindable]
3236     VARIANT minWidth();
3237
3238     [propget, id(DISPID_IHTMLCURRENTSTYLE4_MAXWIDTH), displaybind, bindable]
3239     VARIANT maxWidth();
3240 }
3241
3242 [
3243     noncreatable,
3244     uuid(3050f3dc-98b5-11cf-bb82-00aa00bdce0b)
3245 ]
3246 coclass HTMLCurrentStyle
3247 {
3248     [default] dispinterface DispHTMLCurrentStyle;
3249     interface IHTMLCurrentStyle;
3250     interface IHTMLCurrentStyle2;
3251     interface IHTMLCurrentStyle3;
3252     interface IHTMLCurrentStyle4;
3253 }
3254
3255 /*****************************************************************************
3256  *    IHTMLRect interface
3257  */
3258 [
3259     odl,
3260     oleautomation,
3261     dual,
3262     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
3263 ]
3264 interface IHTMLRect : IDispatch
3265 {
3266     [propput, id(DISPID_IHTMLRECT_LEFT)]
3267     HRESULT left([in] LONG v);
3268
3269     [propget, id(DISPID_IHTMLRECT_LEFT)]
3270     HRESULT left([retval, out] LONG *p);
3271
3272     [propput, id(DISPID_IHTMLRECT_TOP)]
3273     HRESULT top([in] LONG v);
3274
3275     [propget, id(DISPID_IHTMLRECT_TOP)]
3276     HRESULT top([retval, out] LONG *p);
3277
3278     [propput, id(DISPID_IHTMLRECT_RIGHT)]
3279     HRESULT right([in] LONG v);
3280
3281     [propget, id(DISPID_IHTMLRECT_RIGHT)]
3282     HRESULT right([retval, out] LONG *p);
3283
3284     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
3285     HRESULT bottom([in] LONG v);
3286
3287     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
3288     HRESULT bottom([retval, out] LONG *p);
3289 }
3290
3291 /*****************************************************************************
3292  *    IHTMLRectCollection interface
3293  */
3294 [
3295     odl,
3296     oleautomation,
3297     dual,
3298     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
3299 ]
3300 interface IHTMLRectCollection : IDispatch
3301 {
3302     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
3303     HRESULT length([retval, out] LONG *p);
3304
3305     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
3306     HRESULT _newEnum([retval, out] IUnknown **p);
3307
3308     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
3309     HRESULT item(
3310         [in] VARIANT *pvarIndex,
3311         [retval, out] VARIANT *pvarResult);
3312 }
3313
3314 /*****************************************************************************
3315  *    IHTMLDOMNode interface
3316  */
3317 [
3318     odl,
3319     oleautomation,
3320     dual,
3321     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
3322 ]
3323 interface IHTMLDOMNode : IDispatch
3324 {
3325     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3326     HRESULT nodeType([retval, out] LONG *p);
3327
3328     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3329     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
3330
3331     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3332     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
3333
3334     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3335     HRESULT childNodes([retval, out] IDispatch **p);
3336
3337     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3338     HRESULT attributes([retval, out] IDispatch **p);
3339
3340     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3341     HRESULT insertBefore(
3342         [in] IHTMLDOMNode *newChild,
3343         [optional, in] VARIANT refChild,
3344         [retval, out] IHTMLDOMNode **node);
3345
3346     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3347     HRESULT removeChild(
3348         [in] IHTMLDOMNode *oldChild,
3349         [retval, out] IHTMLDOMNode **node);
3350
3351     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3352     HRESULT replaceChild(
3353         [in] IHTMLDOMNode *newChild,
3354         [in] IHTMLDOMNode *oldChild,
3355         [retval, out] IHTMLDOMNode **node);
3356
3357     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3358     HRESULT cloneNode(
3359         [in] VARIANT_BOOL fDeep,
3360         [retval, out] IHTMLDOMNode **clonedNode);
3361
3362     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3363     HRESULT removeNode(
3364         [defaultvalue(0), in] VARIANT_BOOL fDeep,
3365         [retval, out] IHTMLDOMNode **removed);
3366
3367     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3368     HRESULT swapNode(
3369         [in] IHTMLDOMNode *otherNode,
3370         [retval, out] IHTMLDOMNode **swappedNode);
3371
3372     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3373     HRESULT replaceNode(
3374         [in] IHTMLDOMNode *replacement,
3375         [retval, out] IHTMLDOMNode **replaced);
3376
3377     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3378     HRESULT appendChild(
3379         [in] IHTMLDOMNode *newChild,
3380         [retval, out] IHTMLDOMNode **node);
3381
3382     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3383     HRESULT nodeName([retval, out] BSTR *p);
3384
3385     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3386     HRESULT nodeValue([in] VARIANT v);
3387
3388     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3389     HRESULT nodeValue([retval, out] VARIANT *p);
3390
3391     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3392     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
3393
3394     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3395     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
3396
3397     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3398     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
3399
3400     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3401     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
3402 }
3403
3404 /*****************************************************************************
3405  *    IHTMLDOMNode2 interface
3406  */
3407 [
3408     odl,
3409     oleautomation,
3410     dual,
3411     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
3412 ]
3413 interface IHTMLDOMNode2 : IDispatch
3414 {
3415     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3416     HRESULT ownerDocument([retval, out] IDispatch **p);
3417 }
3418
3419 /*****************************************************************************
3420  *    IHTMLDOMAttribute interface
3421  */
3422 [
3423     odl,
3424     oleautomation,
3425     dual,
3426     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
3427 ]
3428 interface IHTMLDOMAttribute : IDispatch
3429 {
3430     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
3431     HRESULT nodeName([retval, out] BSTR *p);
3432
3433     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3434     HRESULT nodeValue([in] VARIANT v);
3435
3436     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
3437     HRESULT nodeValue([retval, out] VARIANT *p);
3438
3439     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
3440     HRESULT specified([retval, out] VARIANT_BOOL *p);
3441 }
3442
3443 /*****************************************************************************
3444  *    IHTMLDOMTextNode interface
3445  */
3446 [
3447     odl,
3448     oleautomation,
3449     dual,
3450     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
3451 ]
3452 interface IHTMLDOMTextNode : IDispatch
3453 {
3454     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3455     HRESULT data([in] BSTR v);
3456
3457     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3458     HRESULT data([out, retval] BSTR *p);
3459
3460     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3461     HRESULT toString([out, retval] BSTR *String);
3462
3463     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3464     HRESULT length([out, retval] LONG *p);
3465
3466     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3467     HRESULT splitText(
3468             [in] LONG offset,
3469             [out, retval] IHTMLDOMNode **pRetNode);
3470 }
3471
3472 /*****************************************************************************
3473  *    IHTMLDOMTextNode2 interface
3474  */
3475 [
3476     odl,
3477     oleautomation,
3478     dual,
3479     uuid(3050f809-98b5-11cf-bb82-00aa00bdce0b)
3480 ]
3481 interface IHTMLDOMTextNode2 : IDispatch
3482 {
3483     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3484     HRESULT substringData([in] LONG offset,[in] LONG Count,[retval, out] BSTR* pbstrsubString);
3485
3486     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3487     HRESULT appendData([in] BSTR bstrstring);
3488
3489     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3490     HRESULT insertData([in] LONG offset,[in] BSTR bstrstring);
3491
3492     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3493     HRESULT deleteData([in] LONG offset,[in] LONG Count);
3494
3495     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3496     HRESULT replaceData([in] LONG offset,[in] LONG Count,[in] BSTR bstrstring);
3497 }
3498
3499 [
3500     noncreatable,
3501     uuid(3050f4ba-98b5-11cf-bb82-00aa00bdce0b)
3502 ]
3503 coclass HTMLDOMTextNode
3504 {
3505     [default]           dispinterface DispHTMLDOMTextNode;
3506                         interface IHTMLDOMTextNode;
3507                         interface IHTMLDOMTextNode2;
3508                         interface IHTMLDOMNode;
3509                         interface IHTMLDOMNode2;
3510 }
3511
3512 /*****************************************************************************
3513  *    IHTMLDOMImplementation interface
3514  */
3515 [
3516     odl,
3517     oleautomation,
3518     dual,
3519     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
3520 ]
3521 interface IHTMLDOMImplementation : IDispatch
3522 {
3523     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
3524     HRESULT hasFeature(
3525         [in] BSTR bstrfeature,
3526         [optional, in] VARIANT version,
3527         [retval, out] VARIANT_BOOL *pfHasFeature);
3528 }
3529
3530 /*****************************************************************************
3531  *    DispHTMLDOMTextNode dispinterface
3532  */
3533 [
3534     hidden,
3535     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
3536 ]
3537 dispinterface DispHTMLDOMTextNode
3538 {
3539 properties:
3540 methods:
3541     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3542     void data(BSTR v);
3543
3544     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
3545     BSTR data();
3546
3547     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
3548     BSTR toString();
3549
3550     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
3551     LONG length();
3552
3553     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
3554     IHTMLDOMNode *splitText([in] LONG offset);
3555
3556     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
3557     BSTR substringData(
3558             [in] LONG offset,
3559             [in] LONG Count);
3560
3561     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
3562     void appendData([in] BSTR bstrstring);
3563
3564     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
3565     void insertData(
3566             [in] LONG offset,
3567             [in] BSTR bstrstring);
3568
3569     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
3570     void deleteData(
3571             [in] LONG offset,
3572             [in] LONG Count);
3573
3574     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
3575     void replaceData(
3576             [in] LONG offset,
3577             [in] LONG Count,
3578             [in] BSTR bstrstring);
3579
3580     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
3581     LONG nodeType();
3582
3583     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
3584     IHTMLDOMNode *parentNode();
3585
3586     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
3587     VARIANT_BOOL hasChildNodes();
3588
3589     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
3590     IDispatch *childNodes();
3591
3592     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
3593     IDispatch *attributes();
3594
3595     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
3596     IHTMLDOMNode *insertBefore(
3597             [in] IHTMLDOMNode *newChild,
3598             [in, optional] VARIANT refChild);
3599
3600     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
3601     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
3602
3603     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
3604     IHTMLDOMNode *replaceChild(
3605             [in] IHTMLDOMNode *newChild,
3606             [in] IHTMLDOMNode *oldChild);
3607
3608     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
3609     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
3610
3611     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
3612     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
3613
3614     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
3615     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
3616
3617     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
3618     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
3619
3620     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
3621     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
3622
3623     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
3624     BSTR nodeName();
3625
3626     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3627     void nodeValue(VARIANT v);
3628
3629     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
3630     VARIANT nodeValue();
3631
3632     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
3633     IHTMLDOMNode *firstChild();
3634
3635     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
3636     IHTMLDOMNode *lastChild();
3637
3638     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
3639     IHTMLDOMNode *previousSibling();
3640
3641     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
3642     IHTMLDOMNode* nextSibling();
3643
3644     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
3645     IDispatch *ownerDocument();
3646 }
3647
3648 /*****************************************************************************
3649  *    IHTMLDOMChildrenCollection interface
3650  */
3651 [
3652     odl,
3653     oleautomation,
3654     dual,
3655     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
3656 ]
3657 interface IHTMLDOMChildrenCollection : IDispatch
3658 {
3659     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3660     HRESULT length([out, retval] LONG *p);
3661
3662     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3663     HRESULT _newEnum([out, retval] IUnknown **p);
3664
3665     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3666     HRESULT item(
3667             [in] LONG index,
3668             [out, retval] IDispatch **ppItem);
3669 }
3670
3671 /*****************************************************************************
3672  *    DispDOMChildrenCollection dispinterface
3673  */
3674 [
3675     hidden,
3676     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
3677 ]
3678 dispinterface DispDOMChildrenCollection
3679 {
3680 properties:
3681 methods:
3682     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
3683     LONG length();
3684
3685     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
3686     IUnknown *_newEnum();
3687
3688     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
3689     IDispatch *item([in] LONG index);
3690 }
3691
3692 interface IHTMLElementCollection;
3693
3694 /*****************************************************************************
3695  *    IHTMLElement interface
3696  */
3697 [
3698     odl,
3699     dual,
3700     oleautomation,
3701     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
3702 ]
3703 interface IHTMLElement : IDispatch
3704 {
3705     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3706     HRESULT setAttribute(
3707         [in] BSTR strAttributeName,
3708         [in] VARIANT AttributeValue,
3709         [defaultvalue(1), in] LONG lFlags);
3710
3711     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3712     HRESULT getAttribute(
3713         [in] BSTR strAttributeName,
3714         [defaultvalue(0), in] LONG lFlags,
3715         [retval, out] VARIANT *AttributeValue);
3716
3717     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3718     HRESULT removeAttribute(
3719         [in] BSTR strAttributeName,
3720         [defaultvalue(1), in] LONG lFlags,
3721         [retval, out] VARIANT_BOOL *pfSuccess);
3722
3723     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3724     HRESULT className([in] BSTR v);
3725
3726     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
3727     HRESULT className([retval, out] BSTR *p);
3728
3729     [propput, id(DISPID_IHTMLELEMENT_ID)]
3730     HRESULT id([in] BSTR v);
3731
3732     [propget, id(DISPID_IHTMLELEMENT_ID)]
3733     HRESULT id([retval, out] BSTR *p);
3734
3735     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3736     HRESULT tagName([retval, out] BSTR *p);
3737
3738     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3739     HRESULT parentElement([retval, out] IHTMLElement **p);
3740
3741     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
3742     HRESULT style([retval, out] IHTMLStyle **p);
3743
3744     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
3745     HRESULT onhelp([in] VARIANT v);
3746
3747     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
3748     HRESULT onhelp([retval, out] VARIANT *p);
3749
3750     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
3751     HRESULT onclick([in] VARIANT v);
3752
3753     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
3754     HRESULT onclick([retval, out] VARIANT *p);
3755
3756     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3757     HRESULT ondblclick([in] VARIANT v);
3758
3759     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
3760     HRESULT ondblclick([retval, out] VARIANT *p);
3761
3762     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3763     HRESULT onkeydown([in] VARIANT v);
3764
3765     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
3766     HRESULT onkeydown([retval, out] VARIANT *p);
3767
3768     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3769     HRESULT onkeyup([in] VARIANT v);
3770
3771     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
3772     HRESULT onkeyup([retval, out] VARIANT *p);
3773
3774     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3775     HRESULT onkeypress([in] VARIANT v);
3776
3777     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
3778     HRESULT onkeypress([retval, out] VARIANT *p);
3779
3780     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3781     HRESULT onmouseout([in] VARIANT v);
3782
3783     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
3784     HRESULT onmouseout([retval, out] VARIANT *p);
3785
3786     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3787     HRESULT onmouseover([in] VARIANT v);
3788
3789     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
3790     HRESULT onmouseover([retval, out] VARIANT *p);
3791
3792     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3793     HRESULT onmousemove([in] VARIANT v);
3794
3795     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
3796     HRESULT onmousemove([retval, out] VARIANT *p);
3797
3798     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3799     HRESULT onmousedown([in] VARIANT v);
3800
3801     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
3802     HRESULT onmousedown([retval, out] VARIANT *p);
3803
3804     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3805     HRESULT onmouseup([in] VARIANT v);
3806
3807     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
3808     HRESULT onmouseup([retval, out] VARIANT *p);
3809
3810     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3811     HRESULT document([retval, out] IDispatch **p);
3812
3813     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
3814     HRESULT title([in] BSTR v);
3815
3816     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
3817     HRESULT title([retval, out] BSTR *p);
3818
3819     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3820     HRESULT language([in] BSTR v);
3821
3822     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
3823     HRESULT language([retval, out] BSTR *p);
3824
3825     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3826     HRESULT onselectstart([in] VARIANT v);
3827
3828     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
3829     HRESULT onselectstart([retval, out] VARIANT *p);
3830
3831     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3832     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
3833
3834     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3835     HRESULT contains(
3836         [in] IHTMLElement *pChild,
3837         [retval, out] VARIANT_BOOL *pfResult);
3838
3839     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
3840     HRESULT sourceIndex([retval, out] LONG *p);
3841
3842     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3843     HRESULT recordNumber([retval, out] VARIANT *p);
3844
3845     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3846     HRESULT lang([in] BSTR v);
3847
3848     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3849     HRESULT lang([retval, out] BSTR *p);
3850
3851     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3852     HRESULT offsetLeft([retval, out] LONG *p);
3853
3854     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3855     HRESULT offsetTop([retval, out] LONG *p);
3856
3857     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3858     HRESULT offsetWidth([retval, out] LONG *p);
3859
3860     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3861     HRESULT offsetHeight([retval, out] LONG *p);
3862
3863     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3864     HRESULT offsetParent([retval, out] IHTMLElement **p);
3865
3866     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3867     HRESULT innerHTML([in] BSTR v);
3868
3869     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3870     HRESULT innerHTML([retval, out] BSTR *p);
3871
3872     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3873     HRESULT innerText([in] BSTR v);
3874
3875     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3876     HRESULT innerText([retval, out] BSTR *p);
3877
3878     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3879     HRESULT outerHTML([in] BSTR v);
3880
3881     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3882     HRESULT outerHTML([retval, out] BSTR *p);
3883
3884     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3885     HRESULT outerText([in] BSTR v);
3886
3887     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3888     HRESULT outerText([retval, out] BSTR *p);
3889
3890     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
3891     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
3892
3893     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
3894     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
3895
3896     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
3897     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
3898
3899     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
3900     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
3901
3902     [id(DISPID_IHTMLELEMENT_CLICK)]
3903     HRESULT click();
3904
3905     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
3906     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
3907
3908     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3909     HRESULT ondragstart([in] VARIANT v);
3910
3911     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
3912     HRESULT ondragstart([retval, out] VARIANT *p);
3913
3914     [id(DISPID_IHTMLELEMENT_TOSTRING)]
3915     HRESULT toString([retval, out] BSTR *String);
3916
3917     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3918     HRESULT onbeforeupdate([in] VARIANT v);
3919
3920     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
3921     HRESULT onbeforeupdate([retval, out] VARIANT *p);
3922
3923     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3924     HRESULT onafterupdate([in] VARIANT v);
3925
3926     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
3927     HRESULT onafterupdate([retval, out] VARIANT *p);
3928
3929     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3930     HRESULT onerrorupdate([in] VARIANT v);
3931
3932     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
3933     HRESULT onerrorupdate([retval, out] VARIANT *p);
3934
3935     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3936     HRESULT onrowexit([in] VARIANT v);
3937
3938     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
3939     HRESULT onrowexit([retval, out] VARIANT *p);
3940
3941     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3942     HRESULT onrowenter([in] VARIANT v);
3943
3944     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
3945     HRESULT onrowenter([retval, out] VARIANT *p);
3946
3947     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3948     HRESULT ondatasetchanged([in] VARIANT v);
3949
3950     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
3951     HRESULT ondatasetchanged([retval, out] VARIANT *p);
3952
3953     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3954     HRESULT ondataavailable([in] VARIANT v);
3955
3956     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3957     HRESULT ondataavailable([retval, out] VARIANT *p);
3958
3959     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3960     HRESULT ondatasetcomplete([in] VARIANT v);
3961
3962     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3963     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
3964
3965     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3966     HRESULT onfilterchange([in] VARIANT v);
3967
3968     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3969     HRESULT onfilterchange([retval, out] VARIANT *p);
3970
3971     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3972     HRESULT children([retval, out] IDispatch **p);
3973
3974     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3975     HRESULT all([retval, out] IDispatch **p);
3976 }
3977
3978 /*****************************************************************************
3979  *    IHTMLElement2 interface
3980  */
3981 [
3982     odl,
3983     oleautomation,
3984     dual,
3985     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
3986 ]
3987 interface IHTMLElement2 : IDispatch
3988 {
3989     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3990     HRESULT scopeName([retval, out] BSTR *p);
3991
3992     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3993     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
3994
3995     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3996     HRESULT releaseCapture();
3997
3998     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3999     HRESULT onlosecapture([in] VARIANT v);
4000
4001     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4002     HRESULT onlosecapture([retval, out] VARIANT *p);
4003
4004     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4005     HRESULT componentFromPoint(
4006         [in] LONG x,
4007         [in] LONG y,
4008         [retval, out] BSTR *component);
4009
4010     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4011     HRESULT doScroll([optional, in] VARIANT component);
4012
4013     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4014     HRESULT onscroll([in] VARIANT v);
4015
4016     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4017     HRESULT onscroll([retval, out] VARIANT *p);
4018
4019     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4020     HRESULT ondrag([in] VARIANT v);
4021
4022     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4023     HRESULT ondrag([retval, out] VARIANT *p);
4024
4025     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4026     HRESULT ondragend([in] VARIANT v);
4027
4028     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4029     HRESULT ondragend([retval, out] VARIANT *p);
4030
4031     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4032     HRESULT ondragenter([in] VARIANT v);
4033
4034     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4035     HRESULT ondragenter([retval, out] VARIANT *p);
4036
4037     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4038     HRESULT ondragover([in] VARIANT v);
4039
4040     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4041     HRESULT ondragover([retval, out] VARIANT *p);
4042
4043     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4044     HRESULT ondragleave([in] VARIANT v);
4045
4046     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4047     HRESULT ondragleave([retval, out] VARIANT *p);
4048
4049     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4050     HRESULT ondrop([in] VARIANT v);
4051
4052     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4053     HRESULT ondrop([retval, out] VARIANT *p);
4054
4055     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4056     HRESULT onbeforecut([in] VARIANT v);
4057
4058     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4059     HRESULT onbeforecut([retval, out] VARIANT *p);
4060
4061     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4062     HRESULT oncut([in] VARIANT v);
4063
4064     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4065     HRESULT oncut([retval, out] VARIANT *p);
4066
4067     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4068     HRESULT onbeforecopy([in] VARIANT v);
4069
4070     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4071     HRESULT onbeforecopy([retval, out] VARIANT *p);
4072
4073     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4074     HRESULT oncopy([in] VARIANT v);
4075
4076     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4077     HRESULT oncopy([retval, out] VARIANT *p);
4078
4079     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4080     HRESULT onbeforepaste([in] VARIANT v);
4081
4082     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4083     HRESULT onbeforepaste([retval, out] VARIANT *p);
4084
4085     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4086     HRESULT onpaste([in] VARIANT v);
4087
4088     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4089     HRESULT onpaste([retval, out] VARIANT *p);
4090
4091     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4092     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
4093
4094     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4095     HRESULT onpropertychange([in] VARIANT v);
4096
4097     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4098     HRESULT onpropertychange([retval, out] VARIANT *p);
4099
4100     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4101     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
4102
4103     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4104     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
4105
4106     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4107     HRESULT setExpression(
4108         [in] BSTR propname,
4109         [in] BSTR expression,
4110         [defaultvalue(""), in] BSTR language);
4111
4112     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4113     HRESULT getExpression(
4114         [in] BSTR propname,
4115         [retval, out] VARIANT *expression);
4116
4117     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4118     HRESULT removeExpression(
4119         [in] BSTR propname,
4120         [retval, out] VARIANT_BOOL *pfSuccess);
4121
4122     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4123     HRESULT tabIndex([in] short v);
4124
4125     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4126     HRESULT tabIndex([retval, out] short *p);
4127
4128     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4129     HRESULT focus();
4130
4131     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4132     HRESULT accessKey([in] BSTR v);
4133
4134     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4135     HRESULT accessKey([retval, out] BSTR *p);
4136
4137     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4138     HRESULT onblur([in] VARIANT v);
4139
4140     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4141     HRESULT onblur([retval, out] VARIANT *p);
4142
4143     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4144     HRESULT onfocus([in] VARIANT v);
4145
4146     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4147     HRESULT onfocus([retval, out] VARIANT *p);
4148
4149     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4150     HRESULT onresize([in] VARIANT v);
4151
4152     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4153     HRESULT onresize([retval, out] VARIANT *p);
4154
4155     [id(DISPID_IHTMLELEMENT2_BLUR)]
4156     HRESULT blur();
4157
4158     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4159     HRESULT addFilter([in] IUnknown *pUnk);
4160
4161     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4162     HRESULT removeFilter([in] IUnknown *pUnk);
4163
4164     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4165     HRESULT clientHeight([retval, out] LONG *p);
4166
4167     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4168     HRESULT clientWidth([retval, out] LONG *p);
4169
4170     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4171     HRESULT clientTop([retval, out] LONG *p);
4172
4173     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4174     HRESULT clientLeft([retval, out] LONG *p);
4175
4176     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4177     HRESULT attachEvent(
4178         [in] BSTR event,
4179         [in] IDispatch *pDisp,
4180         [retval, out] VARIANT_BOOL *pfResult);
4181
4182     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4183     HRESULT detachEvent(
4184         [in] BSTR event,
4185         [in] IDispatch *pDisp);
4186
4187     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4188     HRESULT readyState([retval, out] VARIANT *p);
4189
4190     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4191     HRESULT onreadystatechange([in] VARIANT v);
4192
4193     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4194     HRESULT onreadystatechange([retval, out] VARIANT *p);
4195
4196     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4197     HRESULT onrowsdelete([in] VARIANT v);
4198
4199     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4200     HRESULT onrowsdelete([retval, out] VARIANT *p);
4201
4202     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4203     HRESULT onrowsinserted([in] VARIANT v);
4204
4205     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4206     HRESULT onrowsinserted([retval, out] VARIANT *p);
4207
4208     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4209     HRESULT oncellchange([in] VARIANT v);
4210
4211     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4212     HRESULT oncellchange([retval, out] VARIANT *p);
4213
4214     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4215     HRESULT dir([in] BSTR v);
4216
4217     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4218     HRESULT dir([retval, out] BSTR *p);
4219
4220     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4221     HRESULT createControlRange([retval, out] IDispatch **range);
4222
4223     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4224     HRESULT scrollHeight([retval, out] LONG *p);
4225
4226     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4227     HRESULT scrollWidth([retval, out] LONG *p);
4228
4229     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4230     HRESULT scrollTop([in] LONG v);
4231
4232     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4233     HRESULT scrollTop([retval, out] LONG *p);
4234
4235     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4236     HRESULT scrollLeft([in] LONG v);
4237
4238     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4239     HRESULT scrollLeft([retval, out] LONG *p);
4240
4241     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4242     HRESULT clearAttributes();
4243
4244     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
4245     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
4246
4247     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4248     HRESULT oncontextmenu([in] VARIANT v);
4249
4250     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4251     HRESULT oncontextmenu([retval, out] VARIANT *p);
4252
4253     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4254     HRESULT insertAdjacentElement(
4255         [in] BSTR where,
4256         [in] IHTMLElement *insertedElement,
4257         [retval, out] IHTMLElement **inserted);
4258
4259     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4260     HRESULT applyElement(
4261         [in] IHTMLElement *apply,
4262         [in] BSTR where,
4263         [retval, out] IHTMLElement **applied);
4264
4265     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4266     HRESULT getAdjacentText(
4267         [in] BSTR where,
4268         [retval, out] BSTR *text);
4269
4270     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4271     HRESULT replaceAdjacentText(
4272         [in] BSTR where,
4273         [in] BSTR newText,
4274         [retval, out] BSTR *oldText);
4275
4276     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4277     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
4278
4279     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4280     HRESULT addBehavior(
4281         [in] BSTR bstrUrl,
4282         [optional, in] VARIANT *pvarFactory,
4283         [retval, out] LONG *pCookie);
4284
4285     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4286     HRESULT removeBehavior(
4287         [in] LONG cookie,
4288         [retval, out] VARIANT_BOOL *pfResult);
4289
4290     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4291     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
4292
4293     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4294     HRESULT behaviorUrns([retval, out] IDispatch **p);
4295
4296     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4297     HRESULT tagUrn([in] BSTR v);
4298
4299     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4300     HRESULT tagUrn([retval, out] BSTR *p);
4301
4302     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4303     HRESULT onbeforeeditfocus([in] VARIANT v);
4304
4305     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4306     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
4307
4308     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4309     HRESULT readyStateValue([retval, out] LONG *p);
4310
4311     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4312     HRESULT getElementsByTagName(
4313         [in] BSTR v,
4314         [retval, out] IHTMLElementCollection **pelColl);
4315 }
4316
4317
4318 /*****************************************************************************
4319  *    IHTMLElement3 interface
4320  */
4321 [
4322     odl,
4323     oleautomation,
4324     dual,
4325     uuid(3050f673-98b5-11cf-bb82-00aa00bdce0b)
4326 ]
4327 interface IHTMLElement3 : IDispatch
4328 {
4329     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)] HRESULT mergeAttributes([in]
4330     IHTMLElement* mergeThis,[optional, in] VARIANT* pvarFlags);
4331
4332     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
4333     HRESULT isMultiLine([retval, out] VARIANT_BOOL * p);
4334
4335     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
4336     HRESULT canHaveHTML([retval, out] VARIANT_BOOL * p);
4337
4338     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4339     HRESULT onlayoutcomplete([in] VARIANT v);
4340
4341     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4342     HRESULT onlayoutcomplete([retval, out] VARIANT * p);
4343
4344     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4345     HRESULT onpage([in] VARIANT v);
4346
4347     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4348     HRESULT onpage([retval, out] VARIANT * p);
4349
4350     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4351     HRESULT inflateBlock([in] VARIANT_BOOL v);
4352
4353     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4354     HRESULT inflateBlock([retval, out] VARIANT_BOOL * p);
4355
4356     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4357     HRESULT onbeforedeactivate([in] VARIANT v);
4358
4359     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4360     HRESULT onbeforedeactivate([retval, out] VARIANT * p);
4361
4362     [id(DISPID_IHTMLELEMENT3_SETACTIVE)] HRESULT setActive();
4363
4364     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4365     HRESULT contentEditable([in] BSTR v);
4366
4367     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4368     HRESULT contentEditable([retval, out] BSTR * p);
4369
4370     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
4371     HRESULT isContentEditable([retval, out] VARIANT_BOOL * p);
4372
4373     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4374     HRESULT hideFocus([in] VARIANT_BOOL v);
4375
4376     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4377     HRESULT hideFocus([retval, out] VARIANT_BOOL * p);
4378
4379     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4380     HRESULT disabled([in] VARIANT_BOOL v);
4381
4382     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4383     HRESULT disabled([retval, out] VARIANT_BOOL * p);
4384
4385     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4386     HRESULT isDisabled([retval, out] VARIANT_BOOL * p);
4387
4388     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4389     HRESULT onmove([in] VARIANT v);
4390
4391     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4392     HRESULT onmove([retval, out] VARIANT * p);
4393
4394     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4395     HRESULT oncontrolselect([in] VARIANT v);
4396
4397     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4398     HRESULT oncontrolselect([retval, out] VARIANT * p);
4399
4400     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4401     HRESULT fireEvent(
4402         [in] BSTR bstrEventName,
4403         [optional, in] VARIANT* pvarEventObject,
4404         [retval, out] VARIANT_BOOL* pfCancelled);
4405
4406     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4407     HRESULT onresizestart([in] VARIANT v);
4408
4409     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4410     HRESULT onresizestart([retval, out] VARIANT * p);
4411
4412     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4413     HRESULT onresizeend([in] VARIANT v);
4414
4415     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4416     HRESULT onresizeend([retval, out] VARIANT * p);
4417
4418     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4419     HRESULT onmovestart([in] VARIANT v);
4420
4421     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4422     HRESULT onmovestart([retval, out] VARIANT * p);
4423
4424     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4425     HRESULT onmoveend([in] VARIANT v);
4426
4427     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4428     HRESULT onmoveend([retval, out] VARIANT * p);
4429
4430     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4431     HRESULT onmouseenter([in] VARIANT v);
4432
4433     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4434     HRESULT onmouseenter([retval, out] VARIANT * p);
4435
4436     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4437     HRESULT onmouseleave([in] VARIANT v);
4438
4439     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4440     HRESULT onmouseleave([retval, out] VARIANT * p);
4441
4442     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4443     HRESULT onactivate([in] VARIANT v);
4444
4445     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4446     HRESULT onactivate([retval, out] VARIANT * p);
4447
4448     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4449     HRESULT ondeactivate([in] VARIANT v);
4450
4451     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4452     HRESULT ondeactivate([retval, out] VARIANT * p);
4453
4454     [id(DISPID_IHTMLELEMENT3_DRAGDROP)] HRESULT dragDrop([retval, out]
4455     VARIANT_BOOL* pfRet);
4456
4457     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4458     HRESULT glyphMode([retval, out] LONG * p);
4459 };
4460 /*****************************************************************************
4461  *    IHTMLElement4 interface
4462  */
4463 [
4464     odl,
4465     oleautomation,
4466     dual,
4467     uuid(3050f80f-98b5-11cf-bb82-00aa00bdce0b)
4468 ]
4469 interface IHTMLElement4 : IDispatch
4470 {
4471     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4472     HRESULT onmousewheel([in] VARIANT v);
4473
4474     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4475     HRESULT onmousewheel([retval, out] VARIANT * p);
4476
4477     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4478     HRESULT normalize();
4479
4480     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4481     HRESULT getAttributeNode([in] BSTR bstrname,
4482         [retval, out] IHTMLDOMAttribute** ppAttribute);
4483
4484     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4485     HRESULT setAttributeNode(
4486         [in] IHTMLDOMAttribute* pattr,
4487         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4488
4489     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4490     HRESULT removeAttributeNode(
4491         [in] IHTMLDOMAttribute* pattr,
4492         [retval, out] IHTMLDOMAttribute** ppretAttribute);
4493
4494     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4495     HRESULT onbeforeactivate([in] VARIANT v);
4496
4497     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4498     HRESULT onbeforeactivate([retval, out] VARIANT * p);
4499
4500     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4501     HRESULT onfocusin([in] VARIANT v);
4502
4503     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4504     HRESULT onfocusin([retval, out] VARIANT * p);
4505
4506     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4507     HRESULT onfocusout([in] VARIANT v);
4508
4509     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4510     HRESULT onfocusout([retval, out] VARIANT * p);
4511 };
4512
4513 /*****************************************************************************
4514  *    IHTMLGenericElement interface
4515  */
4516 [
4517     odl,
4518     oleautomation,
4519     dual,
4520     uuid(3050f4b7-98b5-11cf-bb82-00aa00bdce0b)
4521 ]
4522 interface IHTMLGenericElement : IDispatch
4523 {
4524     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
4525     HRESULT recordset([out, retval] IDispatch **p);
4526
4527     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
4528     HRESULT namedRecordset(
4529             [in] BSTR dataMember,
4530             [in, optional] VARIANT *hierarchy,
4531             [out, retval] IDispatch **ppRecordset);
4532 }
4533
4534 /*****************************************************************************
4535  *    DispHTMLGenericElement dispinterface
4536  */
4537 [
4538     hidden,
4539     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
4540 ]
4541 dispinterface DispHTMLGenericElement
4542 {
4543 properties:
4544 methods:
4545     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4546     void setAttribute(
4547             [in] BSTR strAttributeName,
4548             [in] VARIANT AttributeValue,
4549             [in, defaultvalue(1)] LONG lFlags);
4550
4551     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4552     VARIANT getAttribute(
4553              [in] BSTR strAttributeName,
4554              [in, defaultvalue(0)] LONG lFlags);
4555
4556     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4557     VARIANT_BOOL removeAttribute(
4558             [in] BSTR strAttributeName,
4559             [in, defaultvalue(1)] LONG lFlags);
4560
4561     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4562     void className(BSTR v);
4563
4564     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4565     BSTR className();
4566
4567     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
4568     void id(BSTR v);
4569
4570     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
4571     BSTR id();
4572
4573     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4574     BSTR tagName();
4575
4576     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4577     IHTMLElement *parentElement();
4578
4579     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
4580     IHTMLStyle *style();
4581
4582     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4583     void onhelp(VARIANT v);
4584
4585     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4586     VARIANT onhelp();
4587
4588     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4589     void onclick(VARIANT v);
4590
4591     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4592     VARIANT onclick();
4593
4594     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4595     void ondblclick(VARIANT v);
4596
4597     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4598     VARIANT ondblclick();
4599
4600     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4601     void onkeydown(VARIANT v);
4602
4603     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4604     VARIANT onkeydown();
4605
4606     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4607     void onkeyup(VARIANT v);
4608
4609     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4610     VARIANT onkeyup();
4611
4612     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4613     void onkeypress(VARIANT v);
4614
4615     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4616     VARIANT onkeypress();
4617
4618     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4619     void onmouseout(VARIANT v);
4620
4621     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4622     VARIANT onmouseout();
4623
4624     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4625     void onmouseover(VARIANT v);
4626
4627     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4628     VARIANT onmouseover();
4629
4630     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4631     void onmousemove(VARIANT v);
4632
4633     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4634     VARIANT onmousemove();
4635
4636     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4637     void onmousedown(VARIANT v);
4638
4639     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4640     VARIANT onmousedown();
4641
4642     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4643     void onmouseup(VARIANT v);
4644
4645     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4646     VARIANT onmouseup();
4647
4648     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4649     IDispatch *document();
4650
4651     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4652     void title(BSTR v);
4653
4654     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4655     BSTR title();
4656
4657     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4658     void language(BSTR v);
4659
4660     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4661     BSTR language();
4662
4663     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4664     void onselectstart(VARIANT v);
4665
4666     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4667     VARIANT onselectstart();
4668
4669     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4670     void scrollIntoView([in, optional] VARIANT varargStart);
4671
4672     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4673     VARIANT_BOOL contains([in] IHTMLElement *pChild);
4674
4675     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
4676     LONG sourceIndex();
4677
4678     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4679     VARIANT recordNumber();
4680
4681     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4682     void lang(BSTR v);
4683
4684     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4685     BSTR lang();
4686
4687     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4688     LONG offsetLeft();
4689
4690     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4691     LONG offsetTop();
4692
4693     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4694     LONG offsetWidth();
4695
4696     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4697     LONG offsetHeight();
4698
4699     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4700     IHTMLElement *offsetParent();
4701
4702     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4703     void innerHTML(BSTR v);
4704
4705     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4706     BSTR innerHTML();
4707
4708     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4709     void innerText(BSTR v);
4710
4711     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4712     BSTR innerText();
4713
4714     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4715     void outerHTML(BSTR v);
4716
4717     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4718     BSTR outerHTML();
4719
4720     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4721     void outerText(BSTR v);
4722
4723     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4724     BSTR outerText();
4725
4726     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4727     void insertAdjacentHTML(
4728             [in] BSTR where,
4729             [in] BSTR html);
4730
4731     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4732     void insertAdjacentText(
4733             [in] BSTR where,
4734             [in] BSTR text);
4735
4736     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4737     IHTMLElement *parentTextEdit();
4738
4739     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4740     VARIANT_BOOL isTextEdit();
4741
4742     [id(DISPID_IHTMLELEMENT_CLICK)]
4743     void click();
4744
4745     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4746     IHTMLFiltersCollection *filters();
4747
4748     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4749     void ondragstart(VARIANT v);
4750
4751     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4752     VARIANT ondragstart();
4753
4754     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4755     BSTR toString();
4756
4757     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4758     void onbeforeupdate(VARIANT v);
4759
4760     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4761     VARIANT onbeforeupdate();
4762
4763     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4764     void onafterupdate(VARIANT v);
4765
4766     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4767     VARIANT onafterupdate();
4768
4769     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4770     void onerrorupdate(VARIANT v);
4771
4772     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4773     VARIANT onerrorupdate();
4774
4775     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4776     void onrowexit(VARIANT v);
4777
4778     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4779     VARIANT onrowexit();
4780
4781     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4782     void onrowenter(VARIANT v);
4783
4784     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4785     VARIANT onrowenter();
4786
4787     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4788     void ondatasetchanged(VARIANT v);
4789
4790     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4791     VARIANT ondatasetchanged();
4792
4793     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4794     void ondataavailable(VARIANT v);
4795
4796     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4797     VARIANT ondataavailable();
4798
4799     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4800     void ondatasetcomplete(VARIANT v);
4801
4802     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4803     VARIANT ondatasetcomplete();
4804
4805     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4806     void onfilterchange(VARIANT v);
4807
4808     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4809     VARIANT onfilterchange();
4810
4811     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4812     IDispatch *children();
4813
4814     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4815     IDispatch *all();
4816
4817     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4818     BSTR scopeName();
4819
4820     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4821     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
4822
4823     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4824     void releaseCapture();
4825
4826     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4827     void onlosecapture(VARIANT v);
4828
4829     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4830     VARIANT onlosecapture();
4831
4832     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4833     BSTR componentFromPoint(
4834             [in] LONG x,
4835             [in] LONG y);
4836
4837     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4838     void doScroll([in, optional] VARIANT component);
4839
4840     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4841     void onscroll(VARIANT v);
4842
4843     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4844     VARIANT onscroll();
4845
4846     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4847     void ondrag(VARIANT v);
4848
4849     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4850     VARIANT ondrag();
4851
4852     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4853     void ondragend(VARIANT v);
4854
4855     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4856     VARIANT ondragend();
4857
4858     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4859     void ondragenter(VARIANT v);
4860
4861     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4862     VARIANT ondragenter();
4863
4864     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4865     void ondragover(VARIANT v);
4866
4867     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4868     VARIANT ondragover();
4869
4870     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4871     void ondragleave(VARIANT v);
4872
4873     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4874     VARIANT ondragleave();
4875
4876     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4877     void ondrop(VARIANT v);
4878
4879     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4880     VARIANT ondrop();
4881
4882     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4883     void onbeforecut(VARIANT v);
4884
4885     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4886     VARIANT onbeforecut();
4887
4888     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4889     void oncut(VARIANT v);
4890
4891     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4892     VARIANT oncut();
4893
4894     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4895     void onbeforecopy(VARIANT v);
4896
4897     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4898     VARIANT onbeforecopy();
4899
4900     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4901     void oncopy(VARIANT v);
4902
4903     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4904     VARIANT oncopy();
4905
4906     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4907     void onbeforepaste(VARIANT v);
4908
4909     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4910     VARIANT onbeforepaste();
4911
4912     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4913     void onpaste(VARIANT v);
4914
4915     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4916     VARIANT onpaste();
4917
4918     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4919     IHTMLCurrentStyle *currentStyle();
4920
4921     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4922     void onpropertychange(VARIANT v);
4923
4924     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4925     VARIANT onpropertychange();
4926
4927     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4928     IHTMLRectCollection *getClientRects();
4929
4930     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4931     IHTMLRect *getBoundingClientRect();
4932
4933     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4934     void setExpression(
4935             [in] BSTR propname,
4936             [in] BSTR expression,
4937             [in, defaultvalue("")] BSTR language);
4938
4939     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4940     VARIANT getExpression([in] BSTR propname);
4941
4942     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4943     VARIANT_BOOL removeExpression([in] BSTR propname);
4944
4945     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4946     void tabIndex(short v);
4947
4948     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4949     short tabIndex();
4950
4951     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4952     void focus();
4953
4954     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4955     void accessKey(BSTR v);
4956
4957     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4958     BSTR accessKey();
4959
4960     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4961     void onblur(VARIANT v);
4962
4963     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4964     VARIANT onblur();
4965
4966     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4967     void onfocus(VARIANT v);
4968
4969     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4970     VARIANT onfocus();
4971
4972     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4973     void onresize(VARIANT v);
4974
4975     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4976     VARIANT onresize();
4977
4978     [id(DISPID_IHTMLELEMENT2_BLUR)]
4979     void blur();
4980
4981     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4982     void addFilter([in] IUnknown *pUnk);
4983
4984     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4985     void removeFilter([in] IUnknown *pUnk);
4986
4987     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4988     LONG clientHeight();
4989
4990     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4991     LONG clientWidth();
4992
4993     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4994     LONG clientTop();
4995
4996     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4997     LONG clientLeft();
4998
4999     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5000     VARIANT_BOOL attachEvent(
5001             [in] BSTR event,
5002             [in] IDispatch *pDisp);
5003
5004     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5005     void detachEvent(
5006             [in] BSTR event,
5007             [in] IDispatch *pDisp);
5008
5009     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5010     VARIANT readyState();
5011
5012     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5013     void onreadystatechange(VARIANT v);
5014
5015     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5016     VARIANT onreadystatechange();
5017
5018     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5019     void onrowsdelete(VARIANT v);
5020
5021     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5022     VARIANT onrowsdelete();
5023
5024     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5025     void onrowsinserted(VARIANT v);
5026
5027     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5028      VARIANT onrowsinserted();
5029
5030     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5031      void oncellchange(VARIANT v);
5032
5033     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5034     VARIANT oncellchange();
5035
5036     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5037     void dir(BSTR v);
5038
5039     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5040     BSTR dir();
5041
5042     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5043     IDispatch *createControlRange();
5044
5045     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5046     LONG scrollHeight();
5047
5048     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5049     LONG scrollWidth();
5050
5051     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5052     void scrollTop(LONG v);
5053
5054     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5055     LONG scrollTop();
5056
5057     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5058     void scrollLeft(LONG v);
5059
5060     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5061     LONG scrollLeft();
5062
5063     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5064     void clearAttributes();
5065
5066     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5067     void oncontextmenu(VARIANT v);
5068
5069     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5070     VARIANT oncontextmenu();
5071
5072     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5073     IHTMLElement *insertAdjacentElement(
5074             [in] BSTR where,
5075             [in] IHTMLElement *insertedElement);
5076
5077     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5078     IHTMLElement *applyElement(
5079             [in] IHTMLElement *apply,
5080             [in] BSTR where);
5081
5082     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5083     BSTR getAdjacentText([in] BSTR where);
5084
5085     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5086     BSTR replaceAdjacentText(
5087             [in] BSTR where,
5088             [in] BSTR newText);
5089
5090     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5091     VARIANT_BOOL canHaveChildren();
5092
5093     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5094     LONG addBehavior(
5095             [in] BSTR bstrUrl,
5096             [in, optional] VARIANT *pvarFactory);
5097
5098     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5099     VARIANT_BOOL removeBehavior([in] LONG cookie);
5100
5101     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5102     IHTMLStyle *runtimeStyle();
5103
5104     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5105     IDispatch *behaviorUrns();
5106
5107     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5108     void tagUrn(BSTR v);
5109
5110     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5111     BSTR tagUrn();
5112
5113     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5114     void onbeforeeditfocus(VARIANT v);
5115
5116     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5117     VARIANT onbeforeeditfocus();
5118
5119     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5120     LONG readyStateValue();
5121
5122     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5123     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
5124
5125     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
5126     void mergeAttributes(
5127             [in] IHTMLElement *mergeThis,
5128             [in, optional] VARIANT *pvarFlags);
5129
5130     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5131     VARIANT_BOOL isMultiLine();
5132
5133     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5134     VARIANT_BOOL canHaveHTML();
5135
5136     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5137     void onlayoutcomplete(VARIANT v);
5138
5139     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5140     VARIANT onlayoutcomplete();
5141
5142     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5143     void onpage(VARIANT v);
5144
5145     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5146     VARIANT onpage();
5147
5148     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5149     void inflateBlock(VARIANT_BOOL v);
5150
5151     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5152     VARIANT_BOOL inflateBlock();
5153
5154     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5155     void onbeforedeactivate(VARIANT v);
5156
5157     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5158     VARIANT onbeforedeactivate();
5159
5160     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
5161     void setActive();
5162
5163     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5164     void contentEditable(BSTR v);
5165
5166     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5167     BSTR contentEditable();
5168
5169     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5170     VARIANT_BOOL isContentEditable();
5171
5172     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5173     void hideFocus(VARIANT_BOOL v);
5174
5175     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5176     VARIANT_BOOL hideFocus();
5177
5178     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5179     void disabled(VARIANT_BOOL v);
5180
5181     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5182     VARIANT_BOOL disabled();
5183
5184     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5185     VARIANT_BOOL isDisabled();
5186
5187     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5188     void onmove(VARIANT v);
5189
5190     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5191     VARIANT onmove();
5192
5193     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5194     void oncontrolselect(VARIANT v);
5195
5196     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5197     VARIANT oncontrolselect();
5198
5199     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5200     VARIANT_BOOL fireEvent(
5201             [in] BSTR bstrEventName,
5202             [in, optional] VARIANT *pvarEventObject);
5203
5204     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5205     void onresizestart(VARIANT v);
5206
5207     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5208     VARIANT onresizestart();
5209
5210     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5211     void onresizeend(VARIANT v);
5212
5213     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5214     VARIANT onresizeend();
5215
5216     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5217     void onmovestart(VARIANT v);
5218
5219     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5220     VARIANT onmovestart();
5221
5222     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5223     void onmoveend(VARIANT v);
5224
5225     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5226     VARIANT onmoveend();
5227
5228     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5229     void onmouseenter(VARIANT v);
5230
5231     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5232     VARIANT onmouseenter();
5233
5234     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5235     void onmouseleave(VARIANT v);
5236
5237     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5238     VARIANT onmouseleave();
5239
5240     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5241     void onactivate(VARIANT v);
5242
5243     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5244     VARIANT onactivate();
5245
5246     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5247     void ondeactivate(VARIANT v);
5248
5249     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5250     VARIANT ondeactivate();
5251
5252     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
5253     VARIANT_BOOL dragDrop();
5254
5255     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5256     LONG glyphMode();
5257
5258     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5259     void onmousewheel(VARIANT v);
5260
5261     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5262     VARIANT onmousewheel();
5263
5264     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5265     void normalize();
5266
5267     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5268     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
5269
5270     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5271     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
5272
5273     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5274     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
5275
5276     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5277     void onbeforeactivate(VARIANT v);
5278
5279     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5280     VARIANT onbeforeactivate();
5281
5282     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5283     void onfocusin(VARIANT v);
5284
5285     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5286     VARIANT onfocusin();
5287
5288     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5289     void onfocusout(VARIANT v);
5290
5291     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5292     VARIANT onfocusout();
5293
5294     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5295     LONG uniqueNumber();
5296
5297     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5298     BSTR uniqueID();
5299
5300     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
5301     LONG nodeType();
5302
5303     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
5304     IHTMLDOMNode *parentNode();
5305
5306     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
5307     VARIANT_BOOL hasChildNodes();
5308
5309     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
5310     IDispatch *childNodes();
5311
5312     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
5313     IDispatch *attributes();
5314
5315     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
5316     IHTMLDOMNode *insertBefore(
5317             [in] IHTMLDOMNode *newChild,
5318             [in, optional] VARIANT refChild);
5319
5320     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
5321     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
5322
5323     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
5324     IHTMLDOMNode *replaceChild(
5325             [in] IHTMLDOMNode *newChild,
5326             [in] IHTMLDOMNode *oldChild);
5327
5328     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
5329     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
5330
5331     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
5332     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
5333
5334     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
5335     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
5336
5337     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
5338     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
5339
5340     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
5341     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
5342
5343     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
5344     BSTR nodeName();
5345
5346     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5347     void nodeValue(VARIANT v);
5348
5349     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5350     VARIANT nodeValue();
5351
5352     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
5353     IHTMLDOMNode *firstChild();
5354
5355     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
5356     IHTMLDOMNode *lastChild();
5357
5358     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
5359     IHTMLDOMNode *previousSibling();
5360
5361     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
5362     IHTMLDOMNode *nextSibling();
5363
5364     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
5365     IDispatch *ownerDocument();
5366
5367     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
5368     IDispatch *recordset();
5369
5370     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
5371     IDispatch *namedRecordset(
5372             [in] BSTR dataMember,
5373             [in, optional] VARIANT *hierarchy);
5374 }
5375
5376 /*****************************************************************************
5377  *    IHTMLStyleSheetRule interface
5378  */
5379 [
5380     odl,
5381     oleautomation,
5382     dual,
5383     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
5384 ]
5385 interface IHTMLStyleSheetRule : IDispatch
5386 {
5387     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5388     HRESULT selectorText([in] BSTR v);
5389
5390     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5391     HRESULT selectorText([retval, out] BSTR *p);
5392
5393     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
5394     HRESULT style([retval, out] IHTMLRuleStyle **p);
5395
5396     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5397     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5398 }
5399
5400 [
5401     hidden,
5402     uuid(3050f50e-98b5-11cf-bb82-00aa00bdce0b)
5403 ]
5404 dispinterface DispHTMLStyleSheetRule
5405 {
5406 properties:
5407 methods:
5408     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5409     void selectorText(BSTR v);
5410
5411     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
5412     BSTR selectorText();
5413
5414     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE), nonbrowsable]
5415     IHTMLRuleStyle* style();
5416
5417     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
5418     VARIANT_BOOL readOnly();
5419
5420     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
5421     IDispatch* constructor();
5422 }
5423
5424 [
5425     noncreatable,
5426     uuid(3050f3ce-98b5-11cf-bb82-00aa00bdce0b)
5427 ]
5428 coclass HTMLStyleSheetRule
5429 {
5430     [default]           dispinterface DispHTMLStyleSheetRule;
5431                         interface IHTMLStyleSheetRule;
5432                         interface IHTMLDOMConstructor;
5433 }
5434
5435 /*****************************************************************************
5436  *    IHTMLStyleSheetRulesCollection interface
5437  */
5438 [
5439     odl,
5440     oleautomation,
5441     dual,
5442     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
5443 ]
5444 interface IHTMLStyleSheetRulesCollection : IDispatch
5445 {
5446     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5447     HRESULT length([retval, out] LONG *p);
5448
5449     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5450     HRESULT item(
5451         [in] LONG index,
5452         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
5453 }
5454
5455 [
5456     hidden,
5457     uuid(3050f52f-98b5-11cf-bb82-00aa00bdce0b)
5458 ]
5459 dispinterface DispHTMLStyleSheetRulesCollection
5460 {
5461 properties:
5462 methods:
5463     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
5464     long length();
5465
5466     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
5467     IHTMLStyleSheetRule* item([in] long index);
5468
5469     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
5470     IDispatch* constructor();
5471 }
5472
5473 [
5474     noncreatable,
5475     uuid(3050f3cd-98b5-11cf-bb82-00aa00bdce0b)
5476 ]
5477 coclass HTMLStyleSheetRulesCollection
5478 {
5479     [default]           dispinterface DispHTMLStyleSheetRulesCollection;
5480                         interface IHTMLStyleSheetRulesCollection;
5481                         interface IHTMLDOMConstructor;
5482 }
5483
5484 [
5485     odl,
5486     oleautomation,
5487     dual,
5488     uuid(3050f7ee-98b5-11cf-bb82-00aa00bdce0b)
5489 ]
5490 interface IHTMLStyleSheetPage : IDispatch
5491 {
5492     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5493     HRESULT selector([retval, out] BSTR *p);
5494
5495     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5496     HRESULT pseudoClass([retval, out] BSTR *p);
5497 }
5498
5499 [
5500     hidden,
5501     uuid(3050f540-98b5-11cf-bb82-00aa00bdce0b)
5502 ]
5503 dispinterface DispHTMLStyleSheetPage
5504 {
5505 properties:
5506 methods:
5507     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_SELECTOR)]
5508     BSTR selector();
5509
5510     [propget, id(DISPID_IHTMLSTYLESHEETPAGE_PSEUDOCLASS)]
5511     BSTR pseudoClass();
5512
5513     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
5514     IDispatch* constructor();
5515 }
5516 [
5517     noncreatable,
5518     uuid(3050f7ef-98b5-11cf-bb82-00aa00bdce0b)
5519 ]
5520 coclass HTMLStyleSheetPage
5521 {
5522     [default]           dispinterface DispHTMLStyleSheetPage;
5523                         interface IHTMLStyleSheetPage;
5524                         interface IHTMLDOMConstructor;
5525 };
5526
5527 [
5528     odl,
5529     oleautomation,
5530     dual,
5531     uuid(3050f7f0-98b5-11cf-bb82-00aa00bdce0b)
5532 ]
5533 interface IHTMLStyleSheetPagesCollection : IDispatch
5534 {
5535     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5536     HRESULT length([retval, out] LONG *p);
5537
5538     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5539     HRESULT item(
5540         [in] LONG index,
5541         [retval, out] IHTMLStyleSheetPage **ppHTMLStyleSheetPage);
5542 }
5543
5544 [
5545     hidden,
5546     uuid(3050f543-98b5-11cf-bb82-00aa00bdce0b)
5547 ]
5548 dispinterface DispHTMLStyleSheetPagesCollection
5549 {
5550 properties:
5551 methods:
5552     [propget, id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_LENGTH)]
5553     long length();
5554
5555     [id(DISPID_IHTMLSTYLESHEETPAGESCOLLECTION_ITEM)]
5556     IHTMLStyleSheetPage* item([in] long index);
5557
5558     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
5559     IDispatch* constructor();
5560 }
5561
5562 [
5563     noncreatable,
5564     uuid(3050f7f1-98b5-11cf-bb82-00aa00bdce0b)
5565 ]
5566 coclass HTMLStyleSheetPagesCollection
5567 {
5568     [default]           dispinterface DispHTMLStyleSheetPagesCollection;
5569                         interface IHTMLStyleSheetPagesCollection;
5570                         interface IHTMLDOMConstructor;
5571 }
5572
5573 /*****************************************************************************
5574  *    IHTMLStyleSheet interface
5575  */
5576 [
5577     odl,
5578     oleautomation,
5579     dual,
5580     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
5581 ]
5582 interface IHTMLStyleSheet : IDispatch
5583 {
5584     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5585     HRESULT title([in] BSTR v);
5586
5587     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5588     HRESULT title([retval, out] BSTR *p);
5589
5590     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5591     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
5592
5593     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5594     HRESULT owningElement([retval, out] IHTMLElement **p);
5595
5596     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5597     HRESULT disabled([in] VARIANT_BOOL v);
5598
5599     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5600     HRESULT disabled([retval, out] VARIANT_BOOL *p);
5601
5602     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5603     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5604
5605     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5606     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
5607
5608     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5609     HRESULT href([in] BSTR v);
5610
5611     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5612     HRESULT href([retval, out] BSTR *p);
5613
5614     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5615     HRESULT type([retval, out] BSTR *p);
5616
5617     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5618     HRESULT id([retval, out] BSTR *p);
5619
5620     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5621     HRESULT addImport(
5622         [in] BSTR bstrURL,
5623         [defaultvalue(-1), in] LONG lIndex,
5624         [retval, out] LONG *plIndex);
5625
5626     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5627     HRESULT addRule(
5628         [in] BSTR bstrSelector,
5629         [in] BSTR bstrStyle,
5630         [defaultvalue(-1), in] LONG lIndex,
5631         [retval, out] LONG *plNewIndex);
5632
5633     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5634     HRESULT removeImport([in] LONG lIndex);
5635
5636     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5637     HRESULT removeRule([in] LONG lIndex);
5638
5639     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5640     HRESULT media([in] BSTR v);
5641
5642     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5643     HRESULT media([retval, out] BSTR *p);
5644
5645     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5646     HRESULT cssText([in] BSTR v);
5647
5648     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5649     HRESULT cssText([retval, out] BSTR *p);
5650
5651     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5652     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
5653 }
5654
5655 /*****************************************************************************
5656  *    IHTMLStyleSheet2 interface
5657  */
5658 [
5659     odl,
5660     oleautomation,
5661     dual,
5662     uuid(3050f3d1-98b5-11cf-bb82-00aa00bdce0b)
5663 ]
5664 interface IHTMLStyleSheet2 : IDispatch
5665 {
5666     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
5667     HRESULT pages([retval, out] IHTMLStyleSheetPagesCollection **p);
5668
5669     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
5670     HRESULT addPageRule(
5671         [in] BSTR bstrSelector,
5672         [in] BSTR bstrStyle,
5673         [defaultvalue(-1), in] LONG lIndex,
5674         [retval, out] LONG *plNewIndex);
5675 }
5676
5677 [
5678     hidden,
5679     uuid(3050f58d-98b5-11cf-bb82-00aa00bdce0b)
5680 ]
5681 dispinterface DispHTMLStyleSheet
5682 {
5683 properties:
5684 methods:
5685     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5686     void title(BSTR v);
5687
5688     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
5689     BSTR title();
5690
5691     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
5692     IHTMLStyleSheet* parentStyleSheet();
5693
5694     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
5695     IHTMLElement* owningElement();
5696
5697     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5698     void disabled(VARIANT_BOOL v);
5699
5700     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
5701     VARIANT_BOOL disabled();
5702
5703     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
5704     VARIANT_BOOL readOnly();
5705
5706     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
5707     IHTMLStyleSheetsCollection* imports();
5708
5709     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
5710     void href(BSTR v);
5711
5712     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
5713     BSTR href();
5714
5715     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
5716     BSTR type();
5717
5718     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
5719     BSTR id();
5720
5721     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
5722     LONG addImport(
5723         [in] BSTR bstrURL,
5724         [defaultvalue(-1), in] LONG lIndex);
5725
5726     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
5727     LONG addRule(
5728         [in] BSTR bstrSelector,
5729         [in] BSTR bstrStyle,
5730         [defaultvalue(-1), in] LONG lIndex);
5731
5732     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
5733     void removeImport([in] LONG lIndex);
5734
5735     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
5736     void removeRule([in] LONG lIndex);
5737
5738     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5739     void media(BSTR v);
5740
5741     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
5742     BSTR media();
5743
5744     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5745     void cssText(BSTR v);
5746
5747     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
5748     BSTR cssText();
5749
5750     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
5751     IHTMLStyleSheetRulesCollection* rules();
5752
5753     [propget, id(DISPID_IHTMLSTYLESHEET2_PAGES)]
5754     IHTMLStyleSheetPagesCollection* pages();
5755
5756     [id(DISPID_IHTMLSTYLESHEET2_ADDPAGERULE)]
5757     LONG addPageRule(
5758         [in] BSTR bstrSelector,
5759         [in] BSTR bstrStyle,
5760         [defaultvalue(-1), in] LONG lIndex);
5761 }
5762
5763 [
5764     noncreatable,
5765     uuid(3050f2e4-98b5-11cf-bb82-00aa00bdce0b)
5766 ]
5767 coclass HTMLStyleSheet
5768 {
5769     [default]           dispinterface DispHTMLStyleSheet;
5770                         interface IHTMLStyleSheet;
5771                         interface IHTMLStyleSheet2;
5772 }
5773
5774 /*****************************************************************************
5775  *    IHTMLStyleSheetsCollection interface
5776  */
5777 [
5778     odl,
5779     oleautomation,
5780     dual,
5781     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
5782 ]
5783 interface IHTMLStyleSheetsCollection : IDispatch
5784 {
5785     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
5786     HRESULT length([retval, out] LONG *p);
5787
5788     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
5789     HRESULT _newEnum([retval, out] IUnknown **p);
5790
5791     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
5792     HRESULT item(
5793         [in] VARIANT *pvarIndex,
5794         [retval, out] VARIANT *pvarResult);
5795 }
5796
5797 /*****************************************************************************
5798  *    IHTMLTxtRange interface
5799  */
5800 [
5801     odl,
5802     oleautomation,
5803     dual,
5804     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
5805 ]
5806 interface IHTMLTxtRange : IDispatch
5807 {
5808     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
5809     HRESULT htmlText([retval, out] BSTR *p);
5810
5811     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
5812     HRESULT text([in] BSTR v);
5813
5814     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
5815     HRESULT text([retval, out] BSTR *p);
5816
5817     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
5818     HRESULT parentElement([retval, out] IHTMLElement **parent);
5819
5820     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
5821     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
5822
5823     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
5824     HRESULT inRange(
5825         [in] IHTMLTxtRange *Range,
5826         [retval, out] VARIANT_BOOL *InRange);
5827
5828     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
5829     HRESULT isEqual(
5830         [in] IHTMLTxtRange *Range,
5831         [retval, out] VARIANT_BOOL *IsEqual);
5832
5833     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
5834     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
5835
5836     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
5837     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
5838
5839     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
5840     HRESULT expand(
5841         [in] BSTR Unit,
5842         [retval, out] VARIANT_BOOL *Success);
5843
5844     [id(DISPID_IHTMLTXTRANGE_MOVE)]
5845     HRESULT move(
5846         [in] BSTR Unit,
5847         [defaultvalue(1), in] LONG Count,
5848         [retval, out] LONG *ActualCount);
5849
5850     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
5851     HRESULT moveStart(
5852         [in] BSTR Unit,
5853         [defaultvalue(1), in] LONG Count,
5854         [retval, out] LONG *ActualCount);
5855
5856     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
5857     HRESULT moveEnd(
5858         [in] BSTR Unit,
5859         [defaultvalue(1), in] LONG Count,
5860         [retval, out] LONG *ActualCount);
5861
5862     [id(DISPID_IHTMLTXTRANGE_SELECT)]
5863     HRESULT select();
5864
5865     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
5866     HRESULT pasteHTML([in] BSTR html);
5867
5868     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
5869     HRESULT moveToElementText([in] IHTMLElement *element);
5870
5871     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
5872     HRESULT setEndPoint(
5873         [in] BSTR how,
5874         [in] IHTMLTxtRange *SourceRange);
5875
5876     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
5877     HRESULT compareEndPoints(
5878         [in] BSTR how,
5879         [in] IHTMLTxtRange *SourceRange,
5880         [retval, out] LONG *ret);
5881
5882     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
5883     HRESULT findText(
5884         [in] BSTR String,
5885         [defaultvalue(1073741823), in] LONG count,
5886         [defaultvalue(0), in] LONG Flags,
5887         [retval, out] VARIANT_BOOL *Success);
5888
5889     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
5890     HRESULT moveToPoint(
5891         [in] LONG x,
5892         [in] LONG y);
5893
5894     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
5895     HRESULT getBookmark([retval, out] BSTR *Boolmark);
5896
5897     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
5898     HRESULT moveToBookmark(
5899         [in] BSTR Bookmark,
5900         [retval, out] VARIANT_BOOL *Success);
5901
5902     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
5903     HRESULT queryCommandSupported(
5904         [in] BSTR cmdID,
5905         [retval, out] VARIANT_BOOL *pfRet);
5906
5907     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
5908     HRESULT queryCommandEnabled(
5909         [in] BSTR cmdID,
5910         [retval, out] VARIANT_BOOL *pfRet);
5911
5912     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
5913     HRESULT queryCommandState(
5914         [in] BSTR cmdID,
5915         [retval, out] VARIANT_BOOL *pfRet);
5916
5917     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
5918     HRESULT queryCommandIndeterm(
5919         [in] BSTR cmdID,
5920         [retval, out] VARIANT_BOOL *pfRet);
5921
5922     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
5923     HRESULT queryCommandText(
5924         [in] BSTR cmdID,
5925         [retval, out] BSTR *pcmdText);
5926
5927     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
5928     HRESULT queryCommandValue(
5929         [in] BSTR cmdID,
5930         [retval, out] VARIANT *pcmdValue);
5931
5932     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
5933     HRESULT execCommand(
5934         [in] BSTR cmdID,
5935         [defaultvalue(0), in] VARIANT_BOOL showUI,
5936         [optional, in] VARIANT value,
5937         [retval, out] VARIANT_BOOL *pfRet);
5938
5939     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
5940     HRESULT execCommandShowHelp(
5941         [in] BSTR cmdID,
5942         [retval, out] VARIANT_BOOL *pfRet);
5943 }
5944
5945 [
5946     noncreatable,
5947     uuid(3050f37f-98b5-11cf-bb82-00aa00bdce0b)
5948 ]
5949 coclass HTMLStyleSheetsCollection
5950 {
5951     [default]           interface IHTMLStyleSheetsCollection;
5952 }
5953
5954 /*****************************************************************************
5955  *    IHTMLFormElement interface
5956  */
5957 [
5958     odl,
5959     oleautomation,
5960     dual,
5961     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
5962 ]
5963 interface IHTMLFormElement : IDispatch
5964 {
5965     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5966     HRESULT action([in] BSTR v);
5967
5968     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
5969     HRESULT action([retval, out] BSTR *p);
5970
5971     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
5972     HRESULT dir([in] BSTR v);
5973
5974     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
5975     HRESULT dir([retval, out] BSTR *p);
5976
5977     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5978     HRESULT encoding([in] BSTR v);
5979
5980     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
5981     HRESULT encoding([retval, out] BSTR *p);
5982
5983     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5984     HRESULT method([in] BSTR v);
5985
5986     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
5987     HRESULT method([retval, out] BSTR *p);
5988
5989     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
5990     HRESULT elements([retval, out] IDispatch **p);
5991
5992     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5993     HRESULT target([in] BSTR v);
5994
5995     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
5996     HRESULT target([retval, out] BSTR *p);
5997
5998     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
5999     HRESULT name([in] BSTR v);
6000
6001     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
6002     HRESULT name([retval, out] BSTR *p);
6003
6004     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6005     HRESULT onsubmit([in] VARIANT v);
6006
6007     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
6008     HRESULT onsubmit([retval, out] VARIANT *p);
6009
6010     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6011     HRESULT onreset([in] VARIANT v);
6012
6013     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
6014     HRESULT onreset([retval, out] VARIANT *p);
6015
6016     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
6017     HRESULT submit();
6018
6019     [id(DISPID_IHTMLFORMELEMENT_RESET)]
6020     HRESULT reset();
6021
6022     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6023     HRESULT length([in] LONG v);
6024
6025     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
6026     HRESULT length([retval, out] LONG *p);
6027
6028     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
6029     HRESULT _newEnum([retval, out] IUnknown **p);
6030
6031     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
6032     HRESULT item(
6033         [optional, in] VARIANT name,
6034         [optional, in] VARIANT index,
6035         [retval, out] IDispatch **pdisp);
6036
6037     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
6038     HRESULT tags(
6039         [in] VARIANT tagName,
6040         [retval, out] IDispatch **pdisp);
6041 }
6042
6043 /*****************************************************************************
6044  *    IHTMLTextContainer interface
6045  */
6046 [
6047     odl,
6048     oleautomation,
6049     dual,
6050     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
6051 ]
6052 interface IHTMLTextContainer : IDispatch
6053 {
6054     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
6055     HRESULT createControlRange([retval, out] IDispatch **range);
6056
6057     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
6058     HRESULT scrollHeight([retval, out] LONG *p);
6059
6060     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
6061     HRESULT scrollWidth([retval, out] LONG *p);
6062
6063     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
6064     HRESULT scrollTop([in] LONG v);
6065
6066     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
6067     HRESULT scrollTop([retval, out] LONG *p);
6068
6069     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
6070     HRESULT scrollLeft([in] LONG v);
6071
6072     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
6073     HRESULT scrollLeft([retval, out] LONG *p);
6074
6075     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
6076     HRESULT onscroll([in] VARIANT v);
6077
6078     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
6079     HRESULT onscroll([retval, out] VARIANT *p);
6080 }
6081
6082 /*****************************************************************************
6083  *    IHTMLImgElement interface
6084  */
6085 [
6086     odl,
6087     oleautomation,
6088     dual,
6089     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
6090 ]
6091 interface IHTMLImgElement : IDispatch
6092 {
6093     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
6094     HRESULT isMap([in] VARIANT_BOOL v);
6095
6096     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
6097     HRESULT isMap([retval, out] VARIANT_BOOL *p);
6098
6099     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
6100     HRESULT useMap([in] BSTR v);
6101
6102     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
6103     HRESULT useMap([retval, out] BSTR *p);
6104
6105     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
6106     HRESULT mimeType([retval, out] BSTR *p);
6107
6108     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
6109     HRESULT fileSize([retval, out] BSTR *p);
6110
6111     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
6112     HRESULT fileCreatedDate([retval, out] BSTR *p);
6113
6114     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
6115     HRESULT fileModifiedDate([retval, out] BSTR *p);
6116
6117     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
6118     HRESULT fileUpdatedDate([retval, out] BSTR *p);
6119
6120     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
6121     HRESULT protocol([retval, out] BSTR *p);
6122
6123     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
6124     HRESULT href([retval, out] BSTR *p);
6125
6126     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
6127     HRESULT nameProp([retval, out] BSTR *p);
6128
6129     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
6130     HRESULT border([in] VARIANT v);
6131
6132     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
6133     HRESULT border([retval, out] VARIANT *p);
6134
6135     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
6136     HRESULT vspace([in] LONG v);
6137
6138     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
6139     HRESULT vspace([retval, out] LONG *p);
6140
6141     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
6142     HRESULT hspace([in] LONG v);
6143
6144     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
6145     HRESULT hspace([retval, out] LONG *p);
6146
6147     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
6148     HRESULT alt([in] BSTR v);
6149
6150     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
6151     HRESULT alt([retval, out] BSTR *p);
6152
6153     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
6154     HRESULT src([in] BSTR v);
6155
6156     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
6157     HRESULT src([retval, out] BSTR *p);
6158
6159     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
6160     HRESULT lowsrc([in] BSTR v);
6161
6162     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
6163     HRESULT lowsrc([retval, out] BSTR *p);
6164
6165     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
6166     HRESULT vrml([in] BSTR v);
6167
6168     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
6169     HRESULT vrml([retval, out] BSTR *p);
6170
6171     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
6172     HRESULT dynsrc([in] BSTR v);
6173
6174     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
6175     HRESULT dynsrc([retval, out] BSTR *p);
6176
6177     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
6178     HRESULT readyState([retval, out] BSTR *p);
6179
6180     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
6181     HRESULT complete([retval, out] VARIANT_BOOL *p);
6182
6183     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
6184     HRESULT loop([in] VARIANT v);
6185
6186     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
6187     HRESULT loop([retval, out] VARIANT *p);
6188
6189     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
6190     HRESULT align([in] BSTR v);
6191
6192     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
6193     HRESULT align([retval, out] BSTR *p);
6194
6195     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
6196     HRESULT onload([in] VARIANT v);
6197
6198     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
6199     HRESULT onload([retval, out] VARIANT *p);
6200
6201     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
6202     HRESULT onerror([in] VARIANT v);
6203
6204     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
6205     HRESULT onerror([retval, out] VARIANT *p);
6206
6207     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
6208     HRESULT onabort([in] VARIANT v);
6209
6210     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
6211     HRESULT onabort([retval, out] VARIANT *p);
6212
6213     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
6214     HRESULT name([in] BSTR v);
6215
6216     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
6217     HRESULT name([retval, out] BSTR *p);
6218
6219     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6220     HRESULT width([in] LONG v);
6221
6222     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
6223     HRESULT width([retval, out] LONG *p);
6224
6225     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6226     HRESULT height([in] LONG v);
6227
6228     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
6229     HRESULT height([retval, out] LONG *p);
6230
6231     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
6232     HRESULT start([in] BSTR v);
6233
6234     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
6235     HRESULT start([retval, out] BSTR *p);
6236 }
6237
6238 /*****************************************************************************
6239  *    IHTMLImageElementFactory interface
6240  */
6241 [
6242     odl,
6243     oleautomation,
6244     dual,
6245     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
6246 ]
6247 interface IHTMLImageElementFactory : IDispatch
6248 {
6249     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
6250     HRESULT create(
6251         [optional, in] VARIANT width,
6252         [optional, in] VARIANT height,
6253         [retval, out]  IHTMLImgElement **elem);
6254 }
6255
6256 /*****************************************************************************
6257  *    DispHTMLImg interface
6258  */
6259 [
6260     hidden,
6261     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
6262 ]
6263 dispinterface DispHTMLImg
6264 {
6265 properties:
6266 methods:
6267     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
6268     void setAttribute(
6269             [in] BSTR strAttributeName,
6270             [in] VARIANT AttributeValue,
6271             [in, defaultvalue(1)] LONG lFlags);
6272
6273     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
6274     VARIANT getAttribute(
6275              [in] BSTR strAttributeName,
6276              [in, defaultvalue(0)] LONG lFlags);
6277
6278     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
6279     VARIANT_BOOL removeAttribute(
6280             [in] BSTR strAttributeName,
6281             [in, defaultvalue(1)] LONG lFlags);
6282
6283     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6284     void className(BSTR v);
6285
6286     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6287     BSTR className();
6288
6289     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
6290     void id(BSTR v);
6291
6292     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
6293     BSTR id();
6294
6295     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
6296     BSTR tagName();
6297
6298     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
6299     IHTMLElement *parentElement();
6300
6301     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
6302     IHTMLStyle *style();
6303
6304     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6305     void onhelp(VARIANT v);
6306
6307     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6308     VARIANT onhelp();
6309
6310     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6311     void onclick(VARIANT v);
6312
6313     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6314     VARIANT onclick();
6315
6316     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6317     void ondblclick(VARIANT v);
6318
6319     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6320     VARIANT ondblclick();
6321
6322     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6323     void onkeydown(VARIANT v);
6324
6325     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6326     VARIANT onkeydown();
6327
6328     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6329     void onkeyup(VARIANT v);
6330
6331     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6332     VARIANT onkeyup();
6333
6334     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6335     void onkeypress(VARIANT v);
6336
6337     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6338     VARIANT onkeypress();
6339
6340     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6341     void onmouseout(VARIANT v);
6342
6343     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6344     VARIANT onmouseout();
6345
6346     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6347     void onmouseover(VARIANT v);
6348
6349     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6350     VARIANT onmouseover();
6351
6352     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6353     void onmousemove(VARIANT v);
6354
6355     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6356     VARIANT onmousemove();
6357
6358     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6359     void onmousedown(VARIANT v);
6360
6361     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6362     VARIANT onmousedown();
6363
6364     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6365     void onmouseup(VARIANT v);
6366
6367     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6368     VARIANT onmouseup();
6369
6370     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
6371     IDispatch *document();
6372
6373     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6374     void title(BSTR v);
6375
6376     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6377     BSTR title();
6378
6379     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6380     void language(BSTR v);
6381
6382     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6383     BSTR language();
6384
6385     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6386     void onselectstart(VARIANT v);
6387
6388     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6389     VARIANT onselectstart();
6390
6391     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
6392     void scrollIntoView([in, optional] VARIANT varargStart);
6393
6394     [id(DISPID_IHTMLELEMENT_CONTAINS)]
6395     VARIANT_BOOL contains([in] IHTMLElement *pChild);
6396
6397     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
6398     LONG sourceIndex();
6399
6400     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
6401     VARIANT recordNumber();
6402
6403     [propput, id(DISPID_IHTMLELEMENT_LANG)]
6404     void lang(BSTR v);
6405
6406     [propget, id(DISPID_IHTMLELEMENT_LANG)]
6407     BSTR lang();
6408
6409     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
6410     LONG offsetLeft();
6411
6412     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
6413     LONG offsetTop();
6414
6415     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
6416     LONG offsetWidth();
6417
6418     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
6419     LONG offsetHeight();
6420
6421     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
6422     IHTMLElement *offsetParent();
6423
6424     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
6425     void innerHTML(BSTR v);
6426
6427     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
6428     BSTR innerHTML();
6429
6430     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6431     void innerText(BSTR v);
6432
6433     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6434     BSTR innerText();
6435
6436     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6437     void outerHTML(BSTR v);
6438
6439     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6440     BSTR outerHTML();
6441
6442     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6443     void outerText(BSTR v);
6444
6445     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6446     BSTR outerText();
6447
6448     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
6449     void insertAdjacentHTML(
6450             [in] BSTR where,
6451             [in] BSTR html);
6452
6453     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
6454     void insertAdjacentText(
6455             [in] BSTR where,
6456             [in] BSTR text);
6457
6458     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
6459     IHTMLElement *parentTextEdit();
6460
6461     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
6462     VARIANT_BOOL isTextEdit();
6463
6464     [id(DISPID_IHTMLELEMENT_CLICK)]
6465     void click();
6466
6467     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
6468     IHTMLFiltersCollection *filters();
6469
6470     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6471     void ondragstart(VARIANT v);
6472
6473     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6474     VARIANT ondragstart();
6475
6476     [id(DISPID_IHTMLELEMENT_TOSTRING)]
6477     BSTR toString();
6478
6479     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6480     void onbeforeupdate(VARIANT v);
6481
6482     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6483     VARIANT onbeforeupdate();
6484
6485     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6486     void onafterupdate(VARIANT v);
6487
6488     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6489     VARIANT onafterupdate();
6490
6491     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6492     void onerrorupdate(VARIANT v);
6493
6494     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6495     VARIANT onerrorupdate();
6496
6497     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6498     void onrowexit(VARIANT v);
6499
6500     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6501     VARIANT onrowexit();
6502
6503     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6504     void onrowenter(VARIANT v);
6505
6506     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6507     VARIANT onrowenter();
6508
6509     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6510     void ondatasetchanged(VARIANT v);
6511
6512     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6513     VARIANT ondatasetchanged();
6514
6515     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6516     void ondataavailable(VARIANT v);
6517
6518     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6519     VARIANT ondataavailable();
6520
6521     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6522     void ondatasetcomplete(VARIANT v);
6523
6524     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6525     VARIANT ondatasetcomplete();
6526
6527     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6528     void onfilterchange(VARIANT v);
6529
6530     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6531     VARIANT onfilterchange();
6532
6533     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
6534     IDispatch *children();
6535
6536     [propget, id(DISPID_IHTMLELEMENT_ALL)]
6537     IDispatch *all();
6538
6539     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
6540     BSTR scopeName();
6541
6542     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
6543     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
6544
6545     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
6546     void releaseCapture();
6547
6548     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6549     void onlosecapture(VARIANT v);
6550
6551     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6552     VARIANT onlosecapture();
6553
6554     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
6555     BSTR componentFromPoint(
6556             [in] LONG x,
6557             [in] LONG y);
6558
6559     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
6560     void doScroll([in, optional] VARIANT component);
6561
6562     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6563     void onscroll(VARIANT v);
6564
6565     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6566     VARIANT onscroll();
6567
6568     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6569     void ondrag(VARIANT v);
6570
6571     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6572     VARIANT ondrag();
6573
6574     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6575     void ondragend(VARIANT v);
6576
6577     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6578     VARIANT ondragend();
6579
6580     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6581     void ondragenter(VARIANT v);
6582
6583     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6584     VARIANT ondragenter();
6585
6586     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6587     void ondragover(VARIANT v);
6588
6589     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6590     VARIANT ondragover();
6591
6592     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6593     void ondragleave(VARIANT v);
6594
6595     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6596     VARIANT ondragleave();
6597
6598     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6599     void ondrop(VARIANT v);
6600
6601     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6602     VARIANT ondrop();
6603
6604     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6605     void onbeforecut(VARIANT v);
6606
6607     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6608     VARIANT onbeforecut();
6609
6610     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6611     void oncut(VARIANT v);
6612
6613     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6614     VARIANT oncut();
6615
6616     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6617     void onbeforecopy(VARIANT v);
6618
6619     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6620     VARIANT onbeforecopy();
6621
6622     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6623     void oncopy(VARIANT v);
6624
6625     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6626     VARIANT oncopy();
6627
6628     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6629     void onbeforepaste(VARIANT v);
6630
6631     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6632     VARIANT onbeforepaste();
6633
6634     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6635     void onpaste(VARIANT v);
6636
6637     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6638     VARIANT onpaste();
6639
6640     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
6641     IHTMLCurrentStyle *currentStyle();
6642
6643     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6644     void onpropertychange(VARIANT v);
6645
6646     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6647     VARIANT onpropertychange();
6648
6649     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
6650     IHTMLRectCollection *getClientRects();
6651
6652     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
6653     IHTMLRect *getBoundingClientRect();
6654
6655     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
6656     void setExpression(
6657             [in] BSTR propname,
6658             [in] BSTR expression,
6659             [in, defaultvalue("")] BSTR language);
6660
6661     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
6662     VARIANT getExpression([in] BSTR propname);
6663
6664     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
6665     VARIANT_BOOL removeExpression([in] BSTR propname);
6666
6667     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6668     void tabIndex(short v);
6669
6670     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6671     short tabIndex();
6672
6673     [id(DISPID_IHTMLELEMENT2_FOCUS)]
6674     void focus();
6675
6676     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6677     void accessKey(BSTR v);
6678
6679     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6680     BSTR accessKey();
6681
6682     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6683     void onblur(VARIANT v);
6684
6685     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6686     VARIANT onblur();
6687
6688     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6689     void onfocus(VARIANT v);
6690
6691     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6692     VARIANT onfocus();
6693
6694     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6695     void onresize(VARIANT v);
6696
6697     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6698     VARIANT onresize();
6699
6700     [id(DISPID_IHTMLELEMENT2_BLUR)]
6701     void blur();
6702
6703     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
6704     void addFilter([in] IUnknown *pUnk);
6705
6706     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
6707     void removeFilter([in] IUnknown *pUnk);
6708
6709     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
6710     LONG clientHeight();
6711
6712     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
6713     LONG clientWidth();
6714
6715     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
6716     LONG clientTop();
6717
6718     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
6719     LONG clientLeft();
6720
6721     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
6722     VARIANT_BOOL attachEvent(
6723             [in] BSTR event,
6724             [in] IDispatch *pDisp);
6725
6726     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
6727     void detachEvent(
6728             [in] BSTR event,
6729             [in] IDispatch *pDisp);
6730
6731     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
6732     VARIANT readyState();
6733
6734     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6735     void onreadystatechange(VARIANT v);
6736
6737     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6738     VARIANT onreadystatechange();
6739
6740     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6741     void onrowsdelete(VARIANT v);
6742
6743     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6744     VARIANT onrowsdelete();
6745
6746     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6747     void onrowsinserted(VARIANT v);
6748
6749     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6750      VARIANT onrowsinserted();
6751
6752     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6753      void oncellchange(VARIANT v);
6754
6755     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6756     VARIANT oncellchange();
6757
6758     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6759     void dir(BSTR v);
6760
6761     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6762     BSTR dir();
6763
6764     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
6765     IDispatch *createControlRange();
6766
6767     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
6768     LONG scrollHeight();
6769
6770     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
6771     LONG scrollWidth();
6772
6773     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6774     void scrollTop(LONG v);
6775
6776     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6777     LONG scrollTop();
6778
6779     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6780     void scrollLeft(LONG v);
6781
6782     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6783     LONG scrollLeft();
6784
6785     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
6786     void clearAttributes();
6787
6788     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6789     void oncontextmenu(VARIANT v);
6790
6791     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6792     VARIANT oncontextmenu();
6793
6794     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
6795     IHTMLElement *insertAdjacentElement(
6796             [in] BSTR where,
6797             [in] IHTMLElement *insertedElement);
6798
6799     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
6800     IHTMLElement *applyElement(
6801             [in] IHTMLElement *apply,
6802             [in] BSTR where);
6803
6804     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
6805     BSTR getAdjacentText([in] BSTR where);
6806
6807     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
6808     BSTR replaceAdjacentText(
6809             [in] BSTR where,
6810             [in] BSTR newText);
6811
6812     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
6813     VARIANT_BOOL canHaveChildren();
6814
6815     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
6816     LONG addBehavior(
6817             [in] BSTR bstrUrl,
6818             [in, optional] VARIANT *pvarFactory);
6819
6820     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
6821     VARIANT_BOOL removeBehavior([in] LONG cookie);
6822
6823     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
6824     IHTMLStyle *runtimeStyle();
6825
6826     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
6827     IDispatch *behaviorUrns();
6828
6829     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
6830     void tagUrn(BSTR v);
6831
6832     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
6833     BSTR tagUrn();
6834
6835     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6836     void onbeforeeditfocus(VARIANT v);
6837
6838     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6839     VARIANT onbeforeeditfocus();
6840
6841     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
6842     LONG readyStateValue();
6843
6844     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
6845     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
6846
6847     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
6848     void mergeAttributes(
6849             [in] IHTMLElement *mergeThis,
6850             [in, optional] VARIANT *pvarFlags);
6851
6852     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
6853     VARIANT_BOOL isMultiLine();
6854
6855     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
6856     VARIANT_BOOL canHaveHTML();
6857
6858     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6859     void onlayoutcomplete(VARIANT v);
6860
6861     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6862     VARIANT onlayoutcomplete();
6863
6864     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6865     void onpage(VARIANT v);
6866
6867     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6868     VARIANT onpage();
6869
6870     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6871     void inflateBlock(VARIANT_BOOL v);
6872
6873     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6874     VARIANT_BOOL inflateBlock();
6875
6876     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6877     void onbeforedeactivate(VARIANT v);
6878
6879     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6880     VARIANT onbeforedeactivate();
6881
6882     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
6883     void setActive();
6884
6885     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6886     void contentEditable(BSTR v);
6887
6888     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6889     BSTR contentEditable();
6890
6891     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
6892     VARIANT_BOOL isContentEditable();
6893
6894     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6895     void hideFocus(VARIANT_BOOL v);
6896
6897     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6898     VARIANT_BOOL hideFocus();
6899
6900     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6901     void disabled(VARIANT_BOOL v);
6902
6903     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6904     VARIANT_BOOL disabled();
6905
6906     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
6907     VARIANT_BOOL isDisabled();
6908
6909     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6910     void onmove(VARIANT v);
6911
6912     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6913     VARIANT onmove();
6914
6915     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6916     void oncontrolselect(VARIANT v);
6917
6918     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6919     VARIANT oncontrolselect();
6920
6921     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
6922     VARIANT_BOOL fireEvent(
6923             [in] BSTR bstrEventName,
6924             [in, optional] VARIANT *pvarEventObject);
6925
6926     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6927     void onresizestart(VARIANT v);
6928
6929     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6930     VARIANT onresizestart();
6931
6932     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6933     void onresizeend(VARIANT v);
6934
6935     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6936     VARIANT onresizeend();
6937
6938     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6939     void onmovestart(VARIANT v);
6940
6941     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6942     VARIANT onmovestart();
6943
6944     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6945     void onmoveend(VARIANT v);
6946
6947     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6948     VARIANT onmoveend();
6949
6950     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6951     void onmouseenter(VARIANT v);
6952
6953     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6954     VARIANT onmouseenter();
6955
6956     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6957     void onmouseleave(VARIANT v);
6958
6959     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6960     VARIANT onmouseleave();
6961
6962     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6963     void onactivate(VARIANT v);
6964
6965     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6966     VARIANT onactivate();
6967
6968     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6969     void ondeactivate(VARIANT v);
6970
6971     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6972     VARIANT ondeactivate();
6973
6974     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
6975     VARIANT_BOOL dragDrop();
6976
6977     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
6978     LONG glyphMode();
6979
6980     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6981     void onmousewheel(VARIANT v);
6982
6983     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6984     VARIANT onmousewheel();
6985
6986     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
6987     void normalize();
6988
6989     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
6990     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
6991
6992     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
6993     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
6994
6995     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
6996     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
6997
6998     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6999     void onbeforeactivate(VARIANT v);
7000
7001     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
7002     VARIANT onbeforeactivate();
7003
7004     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7005     void onfocusin(VARIANT v);
7006
7007     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
7008     VARIANT onfocusin();
7009
7010     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7011     void onfocusout(VARIANT v);
7012
7013     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
7014     VARIANT onfocusout();
7015
7016     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
7017     LONG uniqueNumber();
7018
7019     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
7020     BSTR uniqueID();
7021
7022     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
7023     LONG nodeType();
7024
7025     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
7026     IHTMLDOMNode *parentNode();
7027
7028     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
7029     VARIANT_BOOL hasChildNodes();
7030
7031     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
7032     IDispatch *childNodes();
7033
7034     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
7035     IDispatch *attributes();
7036
7037     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
7038     IHTMLDOMNode *insertBefore(
7039             [in] IHTMLDOMNode *newChild,
7040             [in, optional] VARIANT refChild);
7041
7042     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
7043     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
7044
7045     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
7046     IHTMLDOMNode *replaceChild(
7047             [in] IHTMLDOMNode *newChild,
7048             [in] IHTMLDOMNode *oldChild);
7049
7050     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
7051     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
7052
7053     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
7054     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
7055
7056     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
7057     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
7058
7059     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
7060     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
7061
7062     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
7063     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
7064
7065     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
7066     BSTR nodeName();
7067
7068     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7069     void nodeValue(VARIANT v);
7070
7071     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7072     VARIANT nodeValue();
7073
7074     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
7075     IHTMLDOMNode *firstChild();
7076
7077     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
7078     IHTMLDOMNode *lastChild();
7079
7080     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
7081     IHTMLDOMNode *previousSibling();
7082
7083     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
7084     IHTMLDOMNode *nextSibling();
7085
7086     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
7087     IDispatch *ownerDocument();
7088
7089     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7090     void dataFld(BSTR v);
7091
7092     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7093     BSTR dataFld();
7094
7095     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
7096     void dataSrc(BSTR v);
7097
7098     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
7099     BSTR dataSrc();
7100
7101     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7102     void dataFormatAs(BSTR v);
7103
7104     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7105     BSTR dataFormatAs();
7106
7107     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7108     void isMap(VARIANT_BOOL v);
7109
7110     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
7111     VARIANT_BOOL isMap();
7112
7113     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7114     void useMap(BSTR v);
7115
7116     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
7117     BSTR useMap();
7118
7119     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
7120     BSTR mimeType();
7121
7122     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
7123     BSTR fileSize();
7124
7125     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
7126     BSTR fileCreatedDate();
7127
7128     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
7129     BSTR fileModifiedDate();
7130
7131     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
7132     BSTR fileUpdatedDate();
7133
7134     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
7135     BSTR protocol();
7136
7137     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
7138     BSTR href();
7139
7140     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
7141     BSTR nameProp();
7142
7143     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7144     void border(VARIANT v);
7145
7146     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
7147     VARIANT border();
7148
7149     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7150     void vspace(LONG v);
7151
7152     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
7153     LONG vspace();
7154
7155     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7156     void hspace(LONG v);
7157
7158     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
7159     LONG hspace();
7160
7161     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7162     void alt(BSTR v);
7163
7164     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
7165     BSTR alt();
7166
7167     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7168     void src(BSTR v);
7169
7170     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
7171     BSTR src();
7172
7173     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7174     void lowsrc(BSTR v);
7175
7176     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
7177     BSTR lowsrc();
7178
7179     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7180     void vrml(BSTR v);
7181
7182     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
7183     BSTR vrml();
7184
7185     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7186     void dynsrc(BSTR v);
7187
7188     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
7189     BSTR dynsrc();
7190
7191     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
7192     VARIANT_BOOL complete();
7193
7194     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7195     void loop(VARIANT v);
7196
7197     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
7198     VARIANT loop();
7199
7200     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7201     void align(BSTR v);
7202
7203     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
7204     BSTR align();
7205
7206     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7207     void onload(VARIANT v);
7208
7209     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
7210     VARIANT onload();
7211
7212     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7213     void onerror(VARIANT v);
7214
7215     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
7216     VARIANT onerror();
7217
7218     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7219     void onabort(VARIANT v);
7220
7221     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
7222     VARIANT onabort();
7223
7224     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7225     void name(BSTR v);
7226
7227     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
7228     BSTR name();
7229
7230     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7231     void width(LONG v);
7232
7233     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
7234     LONG width();
7235
7236     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7237     void height(LONG v);
7238
7239     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
7240     LONG height();
7241
7242     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7243     void start(BSTR v);
7244
7245     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
7246     BSTR start();
7247
7248     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7249     void longDesc(BSTR v);
7250
7251     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
7252     BSTR longDesc();
7253 };
7254
7255 /*****************************************************************************
7256  *    IHTMLUniqueName interface
7257  */
7258 [
7259     odl,
7260     oleautomation,
7261     dual,
7262     uuid(3050f4d0-98b5-11cf-bb82-00aa00bdce0b)
7263 ]
7264 interface IHTMLUniqueName : IDispatch
7265 {
7266     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
7267     HRESULT uniqueNumber([retval, out] LONG * p);
7268
7269     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
7270     HRESULT uniqueID([retval, out] BSTR * p);
7271 };
7272
7273 [
7274     odl,
7275     oleautomation,
7276     dual,
7277     uuid(3050f3f2-98b5-11cf-bb82-00aa00bdce0b)
7278 ]
7279 interface IHTMLDatabinding : IDispatch
7280 {
7281     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7282     HRESULT dataFld([in] BSTR v);
7283
7284     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7285     HRESULT dataFld([retval, out] BSTR * p);
7286
7287     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
7288     HRESULT dataSrc([in] BSTR v);
7289
7290     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
7291     HRESULT dataSrc([retval, out] BSTR * p);
7292
7293     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7294     HRESULT dataFormatAs([in] BSTR v);
7295
7296     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7297     HRESULT dataFormatAs([retval, out] BSTR * p);
7298 };
7299
7300 /*****************************************************************************
7301  *    IHTMLControlElement interface
7302  */
7303 [
7304     odl,
7305     oleautomation,
7306     dual,
7307     uuid(3050f4e9-98b5-11cf-bb82-00aa00bdce0b)
7308 ]
7309 interface IHTMLControlElement : IDispatch
7310 {
7311     [propput, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7312     HRESULT tabIndex([in] short v);
7313
7314     [propget, id(DISPID_IHTMLCONTROLELEMENT_TABINDEX), displaybind, bindable]
7315     HRESULT tabIndex([retval, out] short * p);
7316
7317     [id(DISPID_IHTMLCONTROLELEMENT_FOCUS)]
7318     HRESULT focus();
7319
7320     [propput, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7321     HRESULT accessKey([in] BSTR v);
7322
7323     [propget, id(DISPID_IHTMLCONTROLELEMENT_ACCESSKEY), displaybind, bindable]
7324     HRESULT accessKey([retval, out] BSTR * p);
7325
7326     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7327     HRESULT onblur([in] VARIANT v);
7328
7329     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONBLUR), displaybind, bindable]
7330     HRESULT onblur([retval, out] VARIANT * p);
7331
7332     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7333     HRESULT onfocus([in] VARIANT v);
7334
7335     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONFOCUS), displaybind, bindable]
7336     HRESULT onfocus([retval, out] VARIANT * p);
7337
7338     [propput, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7339     HRESULT onresize([in] VARIANT v);
7340
7341     [propget, id(DISPID_IHTMLCONTROLELEMENT_ONRESIZE), displaybind, bindable]
7342     HRESULT onresize([retval, out] VARIANT * p);
7343
7344     [id(DISPID_IHTMLCONTROLELEMENT_BLUR)]
7345     HRESULT blur();
7346
7347     [id(DISPID_IHTMLCONTROLELEMENT_ADDFILTER)]
7348     HRESULT addFilter([in] IUnknown* pUnk);
7349
7350     [id(DISPID_IHTMLCONTROLELEMENT_REMOVEFILTER)]
7351     HRESULT removeFilter([in] IUnknown* pUnk);
7352
7353     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTHEIGHT), displaybind, bindable]
7354     HRESULT clientHeight([retval, out] LONG * p);
7355
7356     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTWIDTH), displaybind, bindable]
7357     HRESULT clientWidth([retval, out] LONG * p);
7358
7359     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTTOP), displaybind, bindable]
7360     HRESULT clientTop([retval, out] LONG * p);
7361
7362     [propget, id(DISPID_IHTMLCONTROLELEMENT_CLIENTLEFT), displaybind, bindable]
7363     HRESULT clientLeft([retval, out] LONG * p);
7364 };
7365
7366 /*****************************************************************************
7367  *    IHTMLBodyElement interface
7368  */
7369 [
7370     odl,
7371     oleautomation,
7372     dual,
7373     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
7374 ]
7375 interface IHTMLBodyElement : IDispatch
7376 {
7377     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7378     HRESULT background([in] BSTR v);
7379
7380     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
7381     HRESULT background([retval, out] BSTR *p);
7382
7383     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7384     HRESULT bgProperties([in] BSTR v);
7385
7386     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
7387     HRESULT bgProperties([retval, out] BSTR *p);
7388
7389     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7390     HRESULT leftMargin([in] VARIANT v);
7391
7392     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
7393     HRESULT leftMargin([retval, out] VARIANT *p);
7394
7395     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7396     HRESULT topMargin([in] VARIANT v);
7397
7398     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
7399     HRESULT topMargin([retval, out] VARIANT *p);
7400
7401     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7402     HRESULT rightMargin([in] VARIANT v);
7403
7404     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
7405     HRESULT rightMargin([retval, out] VARIANT *p);
7406
7407     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7408     HRESULT bottomMargin([in] VARIANT v);
7409
7410     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
7411     HRESULT bottomMargin([retval, out] VARIANT *p);
7412
7413     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7414     HRESULT noWrap([in] VARIANT_BOOL v);
7415
7416     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
7417     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
7418
7419     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7420     HRESULT bgColor([in] VARIANT v);
7421
7422     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
7423     HRESULT bgColor([retval, out] VARIANT *p);
7424
7425     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7426     HRESULT text([in] VARIANT v);
7427
7428     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
7429     HRESULT text([retval, out] VARIANT *p);
7430
7431     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7432     HRESULT link([in] VARIANT v);
7433
7434     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
7435     HRESULT link([retval, out] VARIANT *p);
7436
7437     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7438     HRESULT vLink([in] VARIANT v);
7439
7440     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
7441     HRESULT vLink([retval, out] VARIANT *p);
7442
7443     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7444     HRESULT aLink([in] VARIANT v);
7445
7446     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
7447     HRESULT aLink([retval, out] VARIANT *p);
7448
7449     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7450     HRESULT onload([in] VARIANT v);
7451
7452     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
7453     HRESULT onload([retval, out] VARIANT *p);
7454
7455     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7456     HRESULT onunload([in] VARIANT v);
7457
7458     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
7459     HRESULT onunload([retval, out] VARIANT *p);
7460
7461     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7462     HRESULT scroll([in] BSTR v);
7463
7464     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
7465     HRESULT scroll([retval, out] BSTR *p);
7466
7467     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7468     HRESULT onselect([in] VARIANT v);
7469
7470     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
7471     HRESULT onselect([retval, out] VARIANT *p);
7472
7473     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7474     HRESULT onbeforeunload([in] VARIANT v);
7475
7476     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
7477     HRESULT onbeforeunload([retval, out] VARIANT *p);
7478
7479     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
7480     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
7481 }
7482
7483 /*****************************************************************************
7484  *    IHTMLBodyElement2 interface
7485  */
7486 [
7487     odl,
7488     oleautomation,
7489     dual,
7490     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
7491 ]
7492 interface IHTMLBodyElement2 : IDispatch
7493 {
7494     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7495     HRESULT onbeforeprint([in] VARIANT v);
7496
7497     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
7498     HRESULT onbeforeprint([retval, out] VARIANT *p);
7499
7500     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7501     HRESULT onafterprint([in] VARIANT v);
7502
7503     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
7504     HRESULT onafterprint([retval, out] VARIANT *p);
7505 }
7506
7507 [
7508     hidden,
7509     uuid(3050f507-98b5-11cf-bb82-00aa00bdce0b)
7510 ]
7511 dispinterface DispHTMLBody
7512 {
7513 properties:
7514 methods:
7515     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
7516     void setAttribute(
7517         [in] BSTR strAttributeName,
7518         [in] VARIANT AttValue,
7519         [defaultvalue(1), in] LONG lFlags);
7520
7521     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
7522     VARIANT getAttribute(
7523         [in] BSTR strAttributeName,
7524         [defaultvalue(0), in] LONG lFlags);
7525
7526     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
7527     VARIANT_BOOL removeAttribute(
7528         [in] BSTR strAttributeName,
7529         [defaultvalue(1), in] LONG lFlags);
7530
7531     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7532     void className(BSTR v);
7533
7534     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7535     BSTR className();
7536
7537     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
7538     void id(BSTR v);
7539
7540     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
7541     BSTR id();
7542
7543     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
7544     BSTR tagName();
7545
7546     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
7547     IHTMLElement* parentElement();
7548
7549     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
7550     IHTMLStyle* style();
7551
7552     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7553     void onhelp(VARIANT v);
7554
7555     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7556     VARIANT onhelp();
7557
7558     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7559     void onclick(VARIANT v);
7560
7561     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7562     VARIANT onclick();
7563
7564     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7565     void ondblclick(VARIANT v);
7566
7567     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7568     VARIANT ondblclick();
7569
7570     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7571     void onkeydown(VARIANT v);
7572
7573     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7574     VARIANT onkeydown();
7575
7576     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7577     void onkeyup(VARIANT v);
7578
7579     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7580     VARIANT onkeyup();
7581
7582     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7583     void onkeypress(VARIANT v);
7584
7585     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7586     VARIANT onkeypress();
7587
7588     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7589     void onmouseout(VARIANT v);
7590
7591     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7592     VARIANT onmouseout();
7593
7594     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7595     void onmouseover(VARIANT v);
7596
7597     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7598     VARIANT onmouseover();
7599
7600     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7601     void onmousemove(VARIANT v);
7602
7603     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7604     VARIANT onmousemove();
7605
7606     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7607     void onmousedown(VARIANT v);
7608
7609     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7610     VARIANT onmousedown();
7611
7612     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7613     void onmouseup(VARIANT v);
7614
7615     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7616     VARIANT onmouseup();
7617
7618     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)] IDispatch* document();
7619
7620     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7621     void title(BSTR v);
7622
7623     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7624     BSTR title();
7625
7626     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7627     void language(BSTR v);
7628
7629     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7630     BSTR language();
7631
7632     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7633     void onselectstart(VARIANT v);
7634
7635     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7636     VARIANT onselectstart();
7637
7638     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
7639     void scrollIntoView([optional, in] VARIANT varargStart);
7640
7641     [id(DISPID_IHTMLELEMENT_CONTAINS)]
7642     VARIANT_BOOL contains([in] IHTMLElement* pChild);
7643
7644     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
7645     LONG sourceIndex();
7646
7647     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
7648     VARIANT recordNumber();
7649
7650     [propput, id(DISPID_IHTMLELEMENT_LANG)]
7651     void lang(BSTR v);
7652
7653     [propget, id(DISPID_IHTMLELEMENT_LANG)]
7654     BSTR lang();
7655
7656     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
7657     LONG offsetLeft();
7658
7659     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
7660     LONG offsetTop();
7661
7662     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
7663     LONG offsetWidth();
7664
7665     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
7666     LONG offsetHeight();
7667
7668     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
7669     IHTMLElement* offsetParent();
7670
7671     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
7672     void innerHTML(BSTR v);
7673
7674     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
7675     BSTR innerHTML();
7676
7677     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7678     void innerText(BSTR v);
7679
7680     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7681     BSTR innerText();
7682
7683     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7684     void outerHTML(BSTR v);
7685
7686     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7687     BSTR outerHTML();
7688
7689     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7690     void outerText(BSTR v);
7691
7692     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7693     BSTR outerText();
7694
7695     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
7696     void insertAdjacentHTML(
7697         [in] BSTR where,
7698         [in] BSTR html);
7699
7700     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
7701     void insertAdjacentText(
7702         [in] BSTR where,
7703         [in] BSTR text);
7704
7705     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
7706     IHTMLElement* parentTextEdit();
7707
7708     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
7709     VARIANT_BOOL isTextEdit();
7710
7711     [id(DISPID_IHTMLELEMENT_CLICK)] void click();
7712
7713     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
7714     IHTMLFiltersCollection* filters();
7715
7716     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7717     void ondragstart(VARIANT v);
7718
7719     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7720     VARIANT ondragstart();
7721
7722     [id(DISPID_IHTMLELEMENT_TOSTRING)]
7723     BSTR toString();
7724
7725     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7726     void onbeforeupdate(VARIANT v);
7727
7728     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7729     VARIANT onbeforeupdate();
7730
7731     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7732     void onafterupdate(VARIANT v);
7733
7734     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7735     VARIANT onafterupdate();
7736
7737     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7738     void onerrorupdate(VARIANT v);
7739
7740     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7741     VARIANT onerrorupdate();
7742
7743     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7744     void onrowexit(VARIANT v);
7745
7746     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7747     VARIANT onrowexit();
7748
7749     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7750     void onrowenter(VARIANT v);
7751
7752     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7753     VARIANT onrowenter();
7754
7755     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7756     void ondatasetchanged(VARIANT v);
7757
7758     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7759     VARIANT ondatasetchanged();
7760
7761     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7762     void ondataavailable(VARIANT v);
7763
7764     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7765     VARIANT ondataavailable();
7766
7767     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7768     void ondatasetcomplete(VARIANT v);
7769
7770     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7771     VARIANT ondatasetcomplete();
7772
7773     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7774     void onfilterchange(VARIANT v);
7775
7776     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7777     VARIANT onfilterchange();
7778
7779     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
7780     IDispatch* children();
7781
7782     [propget, id(DISPID_IHTMLELEMENT_ALL)]
7783     IDispatch* all();
7784
7785     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
7786     BSTR scopeName();
7787
7788     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
7789     void setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
7790
7791     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
7792     void releaseCapture();
7793
7794     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7795     void onlosecapture(VARIANT v);
7796
7797     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7798     VARIANT onlosecapture();
7799
7800     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
7801     BSTR componentFromPoint([in] LONG x,[in] LONG y);
7802
7803     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
7804     void doScroll([optional, in] VARIANT component);
7805
7806     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7807     void onscroll(VARIANT v);
7808
7809     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7810     VARIANT onscroll();
7811
7812     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7813     void ondrag(VARIANT v);
7814
7815     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7816     VARIANT ondrag();
7817
7818     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7819     void ondragend(VARIANT v);
7820
7821     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7822     VARIANT ondragend();
7823
7824     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7825     void ondragenter(VARIANT v);
7826
7827     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7828     VARIANT ondragenter();
7829
7830     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7831     void ondragover(VARIANT v);
7832
7833     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7834     VARIANT ondragover();
7835
7836     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7837     void ondragleave(VARIANT v);
7838
7839     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7840     VARIANT ondragleave();
7841
7842     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7843      void ondrop(VARIANT v);
7844
7845     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7846     VARIANT ondrop();
7847
7848     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7849     void onbeforecut(VARIANT v);
7850
7851     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7852     VARIANT onbeforecut();
7853
7854     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7855     void oncut(VARIANT v);
7856
7857     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7858     VARIANT oncut();
7859
7860     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7861     void onbeforecopy(VARIANT v);
7862
7863     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7864     VARIANT onbeforecopy();
7865
7866     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7867     void oncopy(VARIANT v);
7868
7869     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7870     VARIANT oncopy();
7871
7872     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7873     void onbeforepaste(VARIANT v);
7874
7875     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7876      VARIANT onbeforepaste();
7877
7878     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7879     void onpaste(VARIANT v);
7880
7881     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7882     VARIANT onpaste();
7883
7884     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
7885     IHTMLCurrentStyle* currentStyle();
7886
7887     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7888     void onpropertychange(VARIANT v);
7889
7890     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7891     VARIANT onpropertychange();
7892
7893     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
7894     IHTMLRectCollection* getClientRects();
7895
7896     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
7897     IHTMLRect* getBoundingClientRect();
7898
7899     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
7900     void setExpression(
7901         [in] BSTR propname,
7902         [in] BSTR expr,
7903         [defaultvalue(""), in] BSTR lang);
7904
7905     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
7906     VARIANT getExpression([in] BSTR propname);
7907
7908     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
7909     VARIANT_BOOL removeExpression([in] BSTR propname);
7910
7911     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7912     void tabIndex(short v);
7913
7914     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7915     short tabIndex();
7916
7917     [id(DISPID_IHTMLELEMENT2_FOCUS)]
7918     void focus();
7919
7920     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7921     void accessKey(BSTR v);
7922
7923     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7924     BSTR accessKey();
7925
7926     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7927     void onblur(VARIANT v);
7928
7929     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7930      VARIANT onblur();
7931
7932     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7933     void onfocus(VARIANT v);
7934
7935     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7936     VARIANT onfocus();
7937
7938     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7939     void onresize(VARIANT v);
7940
7941     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7942     VARIANT onresize();
7943
7944     [id(DISPID_IHTMLELEMENT2_BLUR)]
7945     void blur();
7946
7947     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
7948     void addFilter([in] IUnknown* pUnk);
7949
7950     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
7951     void removeFilter([in] IUnknown* pUnk);
7952
7953     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
7954     LONG clientHeight();
7955
7956     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
7957     LONG clientWidth();
7958
7959     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
7960     LONG clientTop();
7961
7962     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
7963     LONG clientLeft();
7964
7965     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
7966     VARIANT_BOOL attachEvent(
7967         [in] BSTR event,
7968         [in] IDispatch* pDisp);
7969
7970     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
7971     void detachEvent(
7972         [in] BSTR event,
7973         [in] IDispatch* pDisp);
7974
7975     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)] VARIANT readyState();
7976
7977     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7978      void onreadystatechange(VARIANT v);
7979
7980     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7981     VARIANT onreadystatechange();
7982
7983     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7984     void onrowsdelete(VARIANT v);
7985
7986     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7987     VARIANT onrowsdelete();
7988
7989     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7990     void onrowsinserted(VARIANT v);
7991
7992     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7993     VARIANT onrowsinserted();
7994
7995     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7996     void oncellchange(VARIANT v);
7997
7998     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7999     VARIANT oncellchange();
8000
8001     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8002     void dir(BSTR v);
8003
8004     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8005     BSTR dir();
8006
8007     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
8008     IDispatch* createControlRange();
8009
8010     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
8011     LONG scrollHeight();
8012
8013     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
8014     LONG scrollWidth();
8015
8016     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8017     void scrollTop(LONG v);
8018
8019     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8020     LONG scrollTop();
8021
8022     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8023     void scrollLeft(LONG v);
8024
8025     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8026     LONG scrollLeft();
8027
8028     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
8029     void clearAttributes();
8030
8031     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8032     void oncontextmenu(VARIANT v);
8033
8034     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8035     VARIANT oncontextmenu();
8036
8037     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
8038     IHTMLElement* insertAdjacentElement(
8039         [in] BSTR where,
8040         [in] IHTMLElement* insertedElement);
8041
8042     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
8043     IHTMLElement* applyElement([in] IHTMLElement* apply,[in] BSTR where);
8044
8045     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
8046     BSTR getAdjacentText([in] BSTR where);
8047
8048     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
8049     BSTR replaceAdjacentText([in] BSTR where,[in] BSTR newText);
8050
8051     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
8052     VARIANT_BOOL canHaveChildren();
8053
8054     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
8055     LONG addBehavior([in] BSTR bstrUrl,[optional, in] VARIANT* pvarFactory);
8056
8057     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
8058     VARIANT_BOOL removeBehavior([in] LONG cookie);
8059
8060     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
8061     IHTMLStyle* runtimeStyle();
8062
8063     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
8064     IDispatch* behaviorUrns();
8065
8066     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
8067     void tagUrn(BSTR v);
8068
8069     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
8070     BSTR tagUrn();
8071
8072     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
8073     void onbeforeeditfocus(VARIANT v);
8074
8075     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
8076     VARIANT onbeforeeditfocus();
8077
8078     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
8079     LONG readyStateValue();
8080
8081     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
8082     IHTMLElementCollection* getElementsByTagName([in] BSTR v);
8083
8084     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
8085     void mergeAttributes(
8086         [in] IHTMLElement* mergeThis,
8087         [optional, in] VARIANT* pvarFlags);
8088
8089     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
8090     VARIANT_BOOL isMultiLine();
8091
8092     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
8093     VARIANT_BOOL canHaveHTML();
8094
8095     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
8096     void onlayoutcomplete(VARIANT v);
8097
8098     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
8099     VARIANT onlayoutcomplete();
8100
8101     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
8102     void onpage(VARIANT v);
8103
8104     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
8105     VARIANT onpage();
8106
8107     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
8108     void inflateBlock(VARIANT_BOOL v);
8109
8110     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
8111     VARIANT_BOOL inflateBlock();
8112
8113     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
8114     void onbeforedeactivate(VARIANT v);
8115
8116     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
8117     VARIANT onbeforedeactivate();
8118
8119     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
8120     void setActive();
8121
8122     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
8123     void contentEditable(BSTR v);
8124
8125     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
8126     BSTR contentEditable();
8127
8128     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
8129     VARIANT_BOOL isContentEditable();
8130
8131     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
8132     void hideFocus(VARIANT_BOOL v);
8133
8134     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
8135     VARIANT_BOOL hideFocus();
8136
8137     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8138     void disabled(VARIANT_BOOL v);
8139
8140     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
8141     VARIANT_BOOL disabled();
8142
8143     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
8144     VARIANT_BOOL isDisabled();
8145
8146     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8147     void onmove(VARIANT v);
8148
8149     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
8150     VARIANT onmove();
8151
8152     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8153     void oncontrolselect(VARIANT v);
8154
8155     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
8156     VARIANT oncontrolselect();
8157
8158     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
8159     VARIANT_BOOL fireEvent(
8160         [in] BSTR bstrEventName,
8161         [optional, in] VARIANT* pvarEventObject);
8162
8163     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8164      void onresizestart(VARIANT v);
8165
8166     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
8167     VARIANT onresizestart();
8168
8169     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8170     void onresizeend(VARIANT v);
8171
8172     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
8173     VARIANT onresizeend();
8174
8175     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8176     void onmovestart(VARIANT v);
8177
8178     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
8179     VARIANT onmovestart();
8180
8181     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8182     void onmoveend(VARIANT v);
8183
8184     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
8185     VARIANT onmoveend();
8186
8187     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8188     void onmouseenter(VARIANT v);
8189
8190     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
8191     VARIANT onmouseenter();
8192
8193     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8194     void onmouseleave(VARIANT v);
8195
8196     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
8197     VARIANT onmouseleave();
8198
8199     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
8200     void onactivate(VARIANT v);
8201     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable] VARIANT onactivate();
8202
8203     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8204     void ondeactivate(VARIANT v);
8205
8206     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
8207     VARIANT ondeactivate();
8208
8209     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
8210     VARIANT_BOOL dragDrop();
8211
8212     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
8213     LONG glyphMode();
8214
8215     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8216     void onmousewheel(VARIANT v);
8217
8218     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
8219     VARIANT onmousewheel();
8220
8221     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
8222     void normalize();
8223
8224     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
8225      IHTMLDOMAttribute* getAttributeNode([in] BSTR bstrname);
8226
8227     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
8228     IHTMLDOMAttribute* setAttributeNode([in] IHTMLDOMAttribute* pattr);
8229
8230     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
8231     IHTMLDOMAttribute* removeAttributeNode([in] IHTMLDOMAttribute* pattr);
8232
8233     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8234     void onbeforeactivate(VARIANT v);
8235
8236     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8237     VARIANT onbeforeactivate();
8238
8239     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8240     void onfocusin(VARIANT v);
8241
8242     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8243     VARIANT onfocusin();
8244
8245     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8246     void onfocusout(VARIANT v);
8247
8248     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8249     VARIANT onfocusout();
8250
8251     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
8252     LONG uniqueNumber();
8253
8254     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
8255     BSTR uniqueID();
8256
8257     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
8258     LONG nodeType();
8259
8260     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
8261     IHTMLDOMNode* parentNode();
8262
8263     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
8264     VARIANT_BOOL hasChildNodes();
8265
8266     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
8267     IDispatch* childNodes();
8268
8269     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
8270     IDispatch* attributes();
8271
8272     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
8273     IHTMLDOMNode* insertBefore(
8274         [in] IHTMLDOMNode* newChild,
8275         [optional, in] VARIANT refChild);
8276
8277     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
8278     IHTMLDOMNode* removeChild([in] IHTMLDOMNode* oldChild);
8279
8280     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
8281     IHTMLDOMNode* replaceChild(
8282         [in] IHTMLDOMNode* newChild,
8283         [in] IHTMLDOMNode* oldChild);
8284
8285     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
8286     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
8287
8288     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
8289     IHTMLDOMNode* removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
8290
8291     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
8292     IHTMLDOMNode* swapNode([in] IHTMLDOMNode* otherNode);
8293
8294     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
8295     IHTMLDOMNode* replaceNode([in] IHTMLDOMNode* replacement);
8296
8297     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
8298     IHTMLDOMNode* appendChild([in] IHTMLDOMNode* newChild);
8299
8300     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
8301     BSTR nodeName();
8302
8303     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8304     void nodeValue(VARIANT v);
8305
8306     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8307     VARIANT nodeValue();
8308
8309     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
8310     IHTMLDOMNode* firstChild();
8311
8312     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
8313     IHTMLDOMNode* lastChild();
8314
8315     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
8316     IHTMLDOMNode* previousSibling();
8317
8318     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
8319     IHTMLDOMNode* nextSibling();
8320
8321     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
8322     IDispatch* ownerDocument();
8323
8324     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8325     void background(BSTR v);
8326
8327     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
8328     BSTR background();
8329
8330     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8331     void bgProperties(BSTR v);
8332
8333     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
8334     BSTR bgProperties();
8335
8336     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8337     void leftMargin(VARIANT v);
8338
8339     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
8340     VARIANT leftMargin();
8341
8342     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8343     void topMargin(VARIANT v);
8344
8345     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
8346     VARIANT topMargin();
8347
8348     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8349     void rightMargin(VARIANT v);
8350
8351     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
8352     VARIANT rightMargin();
8353
8354     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8355     void bottomMargin(VARIANT v);
8356
8357     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
8358     VARIANT bottomMargin();
8359
8360     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8361     void noWrap(VARIANT_BOOL v);
8362
8363     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
8364     VARIANT_BOOL noWrap();
8365
8366     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8367     void bgColor(VARIANT v);
8368
8369     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
8370     VARIANT bgColor();
8371
8372     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8373     void text(VARIANT v);
8374
8375     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
8376     VARIANT text();
8377
8378     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8379     void link(VARIANT v);
8380
8381     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
8382     VARIANT link();
8383
8384     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8385     void vLink(VARIANT v);
8386
8387     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
8388     VARIANT vLink();
8389
8390     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8391     void aLink(VARIANT v);
8392
8393     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
8394     VARIANT aLink();
8395
8396     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8397     void onload(VARIANT v);
8398
8399     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
8400     VARIANT onload();
8401
8402     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8403     void onunload(VARIANT v);
8404
8405     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
8406     VARIANT onunload();
8407
8408     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8409     void scroll(BSTR v);
8410
8411     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
8412     BSTR scroll();
8413
8414     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8415     void onselect(VARIANT v);
8416
8417     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
8418     VARIANT onselect();
8419
8420     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8421     void onbeforeunload(VARIANT v);
8422
8423     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
8424     VARIANT onbeforeunload();
8425
8426     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
8427     IHTMLTxtRange* createTextRange();
8428
8429     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8430     void onbeforeprint(VARIANT v);
8431
8432     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
8433     VARIANT onbeforeprint();
8434
8435     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8436     void onafterprint(VARIANT v);
8437
8438     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
8439     VARIANT onafterprint();
8440 };
8441
8442 [
8443     uuid(3050f24a-98b5-11cf-bb82-00aa00bdce0b)
8444 ]
8445 coclass HTMLBody
8446 {
8447     [default]           dispinterface DispHTMLBody;
8448     [source, default]   dispinterface HTMLTextContainerEvents;
8449     [source]            dispinterface HTMLTextContainerEvents2;
8450                         interface IHTMLElement;
8451                         interface IHTMLElement2;
8452                         interface IHTMLElement3;
8453                         interface IHTMLElement4;
8454                         interface IHTMLUniqueName;
8455                         interface IHTMLDOMNode;
8456                         interface IHTMLDOMNode2;
8457                         interface IHTMLControlElement;
8458                         interface IHTMLTextContainer;
8459                         interface IHTMLBodyElement;
8460                         interface IHTMLBodyElement2;
8461 };
8462
8463 /*****************************************************************************
8464  *    IHTMLAnchorElement interface
8465  */
8466 [
8467     odl,
8468     oleautomation,
8469     dual,
8470     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
8471 ]
8472 interface IHTMLAnchorElement : IDispatch
8473 {
8474     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8475     HRESULT href([in] BSTR v);
8476
8477     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
8478     HRESULT href([retval, out] BSTR *p);
8479
8480     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8481     HRESULT target([in] BSTR v);
8482
8483     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
8484     HRESULT target([retval, out] BSTR *p);
8485
8486     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8487     HRESULT rel([in] BSTR v);
8488
8489     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
8490     HRESULT rel([retval, out] BSTR *p);
8491
8492     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8493     HRESULT rev([in] BSTR v);
8494
8495     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
8496     HRESULT rev([retval, out] BSTR *p);
8497
8498     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8499     HRESULT urn([in] BSTR v);
8500
8501     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
8502     HRESULT urn([retval, out] BSTR *p);
8503
8504     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8505     HRESULT Methods([in] BSTR v);
8506
8507     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
8508     HRESULT Methods([retval, out] BSTR *p);
8509
8510     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8511     HRESULT name([in] BSTR v);
8512
8513     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
8514     HRESULT name([retval, out] BSTR *p);
8515
8516     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8517     HRESULT host([in] BSTR v);
8518
8519     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
8520     HRESULT host([retval, out] BSTR *p);
8521
8522     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8523     HRESULT hostname([in] BSTR v);
8524
8525     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
8526     HRESULT hostname([retval, out] BSTR *p);
8527
8528     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8529     HRESULT pathname([in] BSTR v);
8530
8531     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
8532     HRESULT pathname([retval, out] BSTR *p);
8533
8534     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8535     HRESULT port([in] BSTR v);
8536
8537     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
8538     HRESULT port([retval, out] BSTR *p);
8539
8540     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8541     HRESULT protocol([in] BSTR v);
8542
8543     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
8544     HRESULT protocol([retval, out] BSTR *p);
8545
8546     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8547     HRESULT search([in] BSTR v);
8548
8549     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
8550     HRESULT search([retval, out] BSTR *p);
8551
8552     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8553     HRESULT hash([in] BSTR v);
8554
8555     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
8556     HRESULT hash([retval, out] BSTR *p);
8557
8558     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8559     HRESULT onblur([in] VARIANT v);
8560
8561     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
8562     HRESULT onblur([retval, out] VARIANT *p);
8563
8564     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8565     HRESULT onfocus([in] VARIANT v);
8566
8567     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
8568     HRESULT onfocus([retval, out] VARIANT *p);
8569
8570     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8571     HRESULT accessKey([in] BSTR v);
8572
8573     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
8574     HRESULT accessKey([retval, out] BSTR *p);
8575
8576     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
8577     HRESULT protocolLong([retval, out] BSTR *p);
8578
8579     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
8580     HRESULT mimeType([retval, out] BSTR *p);
8581
8582     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
8583     HRESULT nameProp([retval, out] BSTR *p);
8584
8585     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8586     HRESULT tabIndex([in] short v);
8587
8588     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
8589     HRESULT tabIndex([retval, out] short *p);
8590
8591     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
8592     HRESULT focus();
8593
8594     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
8595     HRESULT blur();
8596 }
8597
8598 /*****************************************************************************
8599  *    IHTMLElementCollection interface
8600  */
8601 [
8602     odl,
8603     oleautomation,
8604     dual,
8605     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
8606 ]
8607 interface IHTMLElementCollection : IDispatch
8608 {
8609     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8610     HRESULT toString([retval, out] BSTR *String);
8611
8612     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8613     HRESULT length([in] LONG v);
8614
8615     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8616     HRESULT length([retval, out] LONG *p);
8617
8618     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
8619     HRESULT _newEnum([retval, out] IUnknown **p);
8620
8621     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8622     HRESULT item(
8623         [optional, in] VARIANT name,
8624         [optional, in] VARIANT index,
8625         [retval,  out] IDispatch **pdisp);
8626
8627     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8628     HRESULT tags(
8629         [in] VARIANT tagName,
8630         [retval, out] IDispatch **pdisp);
8631 }
8632
8633 /*****************************************************************************
8634  *    DispHTMLElementCollection dispinterface
8635  */
8636 [
8637     hidden,
8638     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
8639 ]
8640 dispinterface DispHTMLElementCollection
8641 {
8642 properties:
8643 methods:
8644     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
8645     BSTR toString();
8646
8647     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8648     void length(LONG v);
8649
8650     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
8651     LONG length();
8652
8653     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
8654     IUnknown *_newEnum();
8655
8656     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
8657     IDispatch *item(
8658             [in, optional] VARIANT name,
8659             [in, optional] VARIANT index);
8660
8661     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
8662     IDispatch *tags(
8663             [in] VARIANT tagName);
8664
8665     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
8666     IDispatch *urns([in] VARIANT urn);
8667
8668     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
8669     IDispatch *namedItem([in] BSTR name);
8670 }
8671
8672 /*****************************************************************************
8673  *    IHTMLSelectElement interface
8674  */
8675 [
8676     odl,
8677     oleautomation,
8678     dual,
8679     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
8680 ]
8681 interface IHTMLSelectElement : IDispatch
8682 {
8683     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8684     HRESULT size([in] LONG v);
8685
8686     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
8687     HRESULT size([retval, out] LONG *p);
8688
8689     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8690     HRESULT multiple([in] VARIANT_BOOL v);
8691
8692     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
8693     HRESULT multiple([retval, out] VARIANT_BOOL *p);
8694
8695     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8696     HRESULT name([in] BSTR v);
8697
8698     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
8699     HRESULT name([retval, out] BSTR *p);
8700
8701     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
8702     HRESULT options([retval, out] IDispatch **p);
8703
8704     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8705     HRESULT onchange([in] VARIANT v);
8706
8707     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
8708     HRESULT onchange([retval, out] VARIANT *p);
8709
8710     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8711     HRESULT selectedIndex([in] LONG v);
8712
8713     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
8714     HRESULT selectedIndex([retval, out] LONG *p);
8715
8716     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
8717     HRESULT type([retval, out] BSTR *p);
8718
8719     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8720     HRESULT value([in] BSTR v);
8721
8722     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
8723     HRESULT value([retval, out] BSTR *p);
8724
8725     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8726     HRESULT disabled([in] VARIANT_BOOL v);
8727
8728     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
8729     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8730
8731     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
8732     HRESULT form([retval, out] IHTMLFormElement **p);
8733
8734     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
8735     HRESULT add(
8736         [in] IHTMLElement *element,
8737         [optional, in] VARIANT before);
8738
8739     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
8740     HRESULT remove([defaultvalue(-1), in] LONG index);
8741
8742     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8743     HRESULT length([in] LONG v);
8744
8745     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
8746     HRESULT length([retval, out] LONG *p);
8747
8748     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
8749     HRESULT _newEnum([retval, out] IUnknown **p);
8750
8751     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
8752     HRESULT item(
8753         [optional, in] VARIANT name,
8754         [optional, in] VARIANT index,
8755         [retval, out] IDispatch **pdisp);
8756
8757     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
8758     HRESULT tags(
8759         [in] VARIANT tagName,
8760         [retval, out] IDispatch **pdisp);
8761 }
8762
8763 /*****************************************************************************
8764  *    DispHTMLSelectElement dispinterface
8765  */
8766 [
8767     hidden,
8768     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
8769 ]
8770 dispinterface DispHTMLSelectElement
8771 {
8772 properties:
8773 methods:
8774     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
8775     void setAttribute(
8776             [in] BSTR strAttributeName,
8777             [in] VARIANT AttributeValue,
8778             [in, defaultvalue(1)] LONG lFlags);
8779
8780     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
8781     VARIANT getAttribute(
8782              [in] BSTR strAttributeName,
8783              [in, defaultvalue(0)] LONG lFlags);
8784
8785     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
8786     VARIANT_BOOL removeAttribute(
8787             [in] BSTR strAttributeName,
8788             [in, defaultvalue(1)] LONG lFlags);
8789
8790     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8791     void className(BSTR v);
8792
8793     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8794     BSTR className();
8795
8796     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
8797     void id(BSTR v);
8798
8799     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
8800     BSTR id();
8801
8802     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
8803     BSTR tagName();
8804
8805     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
8806     IHTMLElement *parentElement();
8807
8808     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
8809     IHTMLStyle *style();
8810
8811     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8812     void onhelp(VARIANT v);
8813
8814     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8815     VARIANT onhelp();
8816
8817     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8818     void onclick(VARIANT v);
8819
8820     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8821     VARIANT onclick();
8822
8823     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8824     void ondblclick(VARIANT v);
8825
8826     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8827     VARIANT ondblclick();
8828
8829     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8830     void onkeydown(VARIANT v);
8831
8832     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8833     VARIANT onkeydown();
8834
8835     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8836     void onkeyup(VARIANT v);
8837
8838     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8839     VARIANT onkeyup();
8840
8841     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8842     void onkeypress(VARIANT v);
8843
8844     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8845     VARIANT onkeypress();
8846
8847     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8848     void onmouseout(VARIANT v);
8849
8850     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8851     VARIANT onmouseout();
8852
8853     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8854     void onmouseover(VARIANT v);
8855
8856     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8857     VARIANT onmouseover();
8858
8859     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8860     void onmousemove(VARIANT v);
8861
8862     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8863     VARIANT onmousemove();
8864
8865     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8866     void onmousedown(VARIANT v);
8867
8868     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8869     VARIANT onmousedown();
8870
8871     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8872     void onmouseup(VARIANT v);
8873
8874     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8875     VARIANT onmouseup();
8876
8877     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
8878     IDispatch *document();
8879
8880     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8881     void title(BSTR v);
8882
8883     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8884     BSTR title();
8885
8886     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8887     void language(BSTR v);
8888
8889     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8890     BSTR language();
8891
8892     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8893     void onselectstart(VARIANT v);
8894
8895     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8896     VARIANT onselectstart();
8897
8898     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
8899     void scrollIntoView([in, optional] VARIANT varargStart);
8900
8901     [id(DISPID_IHTMLELEMENT_CONTAINS)]
8902     VARIANT_BOOL contains([in] IHTMLElement *pChild);
8903
8904     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
8905     LONG sourceIndex();
8906
8907     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
8908     VARIANT recordNumber();
8909
8910     [propput, id(DISPID_IHTMLELEMENT_LANG)]
8911     void lang(BSTR v);
8912
8913     [propget, id(DISPID_IHTMLELEMENT_LANG)]
8914     BSTR lang();
8915
8916     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
8917     LONG offsetLeft();
8918
8919     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
8920     LONG offsetTop();
8921
8922     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
8923     LONG offsetWidth();
8924
8925     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
8926     LONG offsetHeight();
8927
8928     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
8929     IHTMLElement *offsetParent();
8930
8931     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
8932     void innerHTML(BSTR v);
8933
8934     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
8935     BSTR innerHTML();
8936
8937     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8938     void innerText(BSTR v);
8939
8940     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8941     BSTR innerText();
8942
8943     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8944     void outerHTML(BSTR v);
8945
8946     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8947     BSTR outerHTML();
8948
8949     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8950     void outerText(BSTR v);
8951
8952     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8953     BSTR outerText();
8954
8955     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
8956     void insertAdjacentHTML(
8957             [in] BSTR where,
8958             [in] BSTR html);
8959
8960     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
8961     void insertAdjacentText(
8962             [in] BSTR where,
8963             [in] BSTR text);
8964
8965     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
8966     IHTMLElement *parentTextEdit();
8967
8968     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
8969     VARIANT_BOOL isTextEdit();
8970
8971     [id(DISPID_IHTMLELEMENT_CLICK)]
8972     void click();
8973
8974     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
8975     IHTMLFiltersCollection *filters();
8976
8977     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8978     void ondragstart(VARIANT v);
8979
8980     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8981     VARIANT ondragstart();
8982
8983     [id(DISPID_IHTMLELEMENT_TOSTRING)]
8984     BSTR toString();
8985
8986     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8987     void onbeforeupdate(VARIANT v);
8988
8989     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8990     VARIANT onbeforeupdate();
8991
8992     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8993     void onafterupdate(VARIANT v);
8994
8995     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8996     VARIANT onafterupdate();
8997
8998     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8999     void onerrorupdate(VARIANT v);
9000
9001     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9002     VARIANT onerrorupdate();
9003
9004     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9005     void onrowexit(VARIANT v);
9006
9007     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9008     VARIANT onrowexit();
9009
9010     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9011     void onrowenter(VARIANT v);
9012
9013     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9014     VARIANT onrowenter();
9015
9016     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9017     void ondatasetchanged(VARIANT v);
9018
9019     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9020     VARIANT ondatasetchanged();
9021
9022     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9023     void ondataavailable(VARIANT v);
9024
9025     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9026     VARIANT ondataavailable();
9027
9028     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9029     void ondatasetcomplete(VARIANT v);
9030
9031     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9032     VARIANT ondatasetcomplete();
9033
9034     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9035     void onfilterchange(VARIANT v);
9036
9037     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9038     VARIANT onfilterchange();
9039
9040     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
9041     IDispatch *children();
9042
9043     [propget, id(DISPID_IHTMLELEMENT_ALL)]
9044     IDispatch *all();
9045
9046     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
9047     BSTR scopeName();
9048
9049     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
9050     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
9051
9052     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
9053     void releaseCapture();
9054
9055     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9056     void onlosecapture(VARIANT v);
9057
9058     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9059     VARIANT onlosecapture();
9060
9061     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
9062     BSTR componentFromPoint(
9063             [in] LONG x,
9064             [in] LONG y);
9065
9066     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
9067     void doScroll([in, optional] VARIANT component);
9068
9069     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9070     void onscroll(VARIANT v);
9071
9072     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9073     VARIANT onscroll();
9074
9075     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9076     void ondrag(VARIANT v);
9077
9078     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9079     VARIANT ondrag();
9080
9081     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9082     void ondragend(VARIANT v);
9083
9084     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9085     VARIANT ondragend();
9086
9087     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9088     void ondragenter(VARIANT v);
9089
9090     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9091     VARIANT ondragenter();
9092
9093     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9094     void ondragover(VARIANT v);
9095
9096     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9097     VARIANT ondragover();
9098
9099     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9100     void ondragleave(VARIANT v);
9101
9102     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9103     VARIANT ondragleave();
9104
9105     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9106     void ondrop(VARIANT v);
9107
9108     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9109     VARIANT ondrop();
9110
9111     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9112     void onbeforecut(VARIANT v);
9113
9114     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9115     VARIANT onbeforecut();
9116
9117     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9118     void oncut(VARIANT v);
9119
9120     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9121     VARIANT oncut();
9122
9123     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9124     void onbeforecopy(VARIANT v);
9125
9126     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9127     VARIANT onbeforecopy();
9128
9129     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9130     void oncopy(VARIANT v);
9131
9132     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9133     VARIANT oncopy();
9134
9135     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9136     void onbeforepaste(VARIANT v);
9137
9138     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9139     VARIANT onbeforepaste();
9140
9141     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9142     void onpaste(VARIANT v);
9143
9144     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9145     VARIANT onpaste();
9146
9147     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
9148     IHTMLCurrentStyle *currentStyle();
9149
9150     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9151     void onpropertychange(VARIANT v);
9152
9153     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9154     VARIANT onpropertychange();
9155
9156     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
9157     IHTMLRectCollection *getClientRects();
9158
9159     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
9160     IHTMLRect *getBoundingClientRect();
9161
9162     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
9163     void setExpression(
9164             [in] BSTR propname,
9165             [in] BSTR expression,
9166             [in, defaultvalue("")] BSTR language);
9167
9168     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
9169     VARIANT getExpression([in] BSTR propname);
9170
9171     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
9172     VARIANT_BOOL removeExpression([in] BSTR propname);
9173
9174     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9175     void tabIndex(short v);
9176
9177     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9178     short tabIndex();
9179
9180     [id(DISPID_IHTMLELEMENT2_FOCUS)]
9181     void focus();
9182
9183     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9184     void accessKey(BSTR v);
9185
9186     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9187     BSTR accessKey();
9188
9189     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9190     void onblur(VARIANT v);
9191
9192     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
9193     VARIANT onblur();
9194
9195     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9196     void onfocus(VARIANT v);
9197
9198     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
9199     VARIANT onfocus();
9200
9201     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9202     void onresize(VARIANT v);
9203
9204     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
9205     VARIANT onresize();
9206
9207     [id(DISPID_IHTMLELEMENT2_BLUR)]
9208     void blur();
9209
9210     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
9211     void addFilter([in] IUnknown *pUnk);
9212
9213     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
9214     void removeFilter([in] IUnknown *pUnk);
9215
9216     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
9217     LONG clientHeight();
9218
9219     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
9220     LONG clientWidth();
9221
9222     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
9223     LONG clientTop();
9224
9225     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
9226     LONG clientLeft();
9227
9228     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
9229     VARIANT_BOOL attachEvent(
9230             [in] BSTR event,
9231             [in] IDispatch *pDisp);
9232
9233     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
9234     void detachEvent(
9235             [in] BSTR event,
9236             [in] IDispatch *pDisp);
9237
9238     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
9239     VARIANT readyState();
9240
9241     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9242     void onreadystatechange(VARIANT v);
9243
9244     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
9245     VARIANT onreadystatechange();
9246
9247     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9248     void onrowsdelete(VARIANT v);
9249
9250     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
9251     VARIANT onrowsdelete();
9252
9253     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9254     void onrowsinserted(VARIANT v);
9255
9256     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
9257      VARIANT onrowsinserted();
9258
9259     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9260      void oncellchange(VARIANT v);
9261
9262     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
9263     VARIANT oncellchange();
9264
9265     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9266     void dir(BSTR v);
9267
9268     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
9269     BSTR dir();
9270
9271     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
9272     IDispatch *createControlRange();
9273
9274     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
9275     LONG scrollHeight();
9276
9277     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
9278     LONG scrollWidth();
9279
9280     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9281     void scrollTop(LONG v);
9282
9283     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
9284     LONG scrollTop();
9285
9286     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9287     void scrollLeft(LONG v);
9288
9289     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
9290     LONG scrollLeft();
9291
9292     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
9293     void clearAttributes();
9294
9295     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9296     void oncontextmenu(VARIANT v);
9297
9298     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
9299     VARIANT oncontextmenu();
9300
9301     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
9302     IHTMLElement *insertAdjacentElement(
9303             [in] BSTR where,
9304             [in] IHTMLElement *insertedElement);
9305
9306     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
9307     IHTMLElement *applyElement(
9308             [in] IHTMLElement *apply,
9309             [in] BSTR where);
9310
9311     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
9312     BSTR getAdjacentText([in] BSTR where);
9313
9314     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
9315     BSTR replaceAdjacentText(
9316             [in] BSTR where,
9317             [in] BSTR newText);
9318
9319     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
9320     VARIANT_BOOL canHaveChildren();
9321
9322     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
9323     LONG addBehavior(
9324             [in] BSTR bstrUrl,
9325             [in, optional] VARIANT *pvarFactory);
9326
9327     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
9328     VARIANT_BOOL removeBehavior([in] LONG cookie);
9329
9330     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
9331     IHTMLStyle *runtimeStyle();
9332
9333     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
9334     IDispatch *behaviorUrns();
9335
9336     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
9337     void tagUrn(BSTR v);
9338
9339     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
9340     BSTR tagUrn();
9341
9342     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9343     void onbeforeeditfocus(VARIANT v);
9344
9345     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9346     VARIANT onbeforeeditfocus();
9347
9348     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
9349     LONG readyStateValue();
9350
9351     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
9352     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
9353
9354     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
9355     void mergeAttributes(
9356             [in] IHTMLElement *mergeThis,
9357             [in, optional] VARIANT *pvarFlags);
9358
9359     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
9360     VARIANT_BOOL isMultiLine();
9361
9362     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
9363     VARIANT_BOOL canHaveHTML();
9364
9365     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9366     void onlayoutcomplete(VARIANT v);
9367
9368     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9369     VARIANT onlayoutcomplete();
9370
9371     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9372     void onpage(VARIANT v);
9373
9374     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9375     VARIANT onpage();
9376
9377     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9378     void inflateBlock(VARIANT_BOOL v);
9379
9380     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9381     VARIANT_BOOL inflateBlock();
9382
9383     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9384     void onbeforedeactivate(VARIANT v);
9385
9386     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9387     VARIANT onbeforedeactivate();
9388
9389     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
9390     void setActive();
9391
9392     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9393     void contentEditable(BSTR v);
9394
9395     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9396     BSTR contentEditable();
9397
9398     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
9399     VARIANT_BOOL isContentEditable();
9400
9401     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9402     void hideFocus(VARIANT_BOOL v);
9403
9404     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9405     VARIANT_BOOL hideFocus();
9406
9407     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9408     void disabled(VARIANT_BOOL v);
9409
9410     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9411     VARIANT_BOOL disabled();
9412
9413     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
9414     VARIANT_BOOL isDisabled();
9415
9416     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9417     void onmove(VARIANT v);
9418
9419     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9420     VARIANT onmove();
9421
9422     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9423     void oncontrolselect(VARIANT v);
9424
9425     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9426     VARIANT oncontrolselect();
9427
9428     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
9429     VARIANT_BOOL fireEvent(
9430             [in] BSTR bstrEventName,
9431             [in, optional] VARIANT *pvarEventObject);
9432
9433     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9434     void onresizestart(VARIANT v);
9435
9436     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9437     VARIANT onresizestart();
9438
9439     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9440     void onresizeend(VARIANT v);
9441
9442     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9443     VARIANT onresizeend();
9444
9445     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9446     void onmovestart(VARIANT v);
9447
9448     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9449     VARIANT onmovestart();
9450
9451     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9452     void onmoveend(VARIANT v);
9453
9454     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9455     VARIANT onmoveend();
9456
9457     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9458     void onmouseenter(VARIANT v);
9459
9460     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9461     VARIANT onmouseenter();
9462
9463     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9464     void onmouseleave(VARIANT v);
9465
9466     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9467     VARIANT onmouseleave();
9468
9469     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9470     void onactivate(VARIANT v);
9471
9472     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9473     VARIANT onactivate();
9474
9475     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9476     void ondeactivate(VARIANT v);
9477
9478     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9479     VARIANT ondeactivate();
9480
9481     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
9482     VARIANT_BOOL dragDrop();
9483
9484     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
9485     LONG glyphMode();
9486
9487     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9488     void onmousewheel(VARIANT v);
9489
9490     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9491     VARIANT onmousewheel();
9492
9493     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
9494     void normalize();
9495
9496     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
9497     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
9498
9499     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
9500     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
9501
9502     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
9503     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
9504
9505     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9506     void onbeforeactivate(VARIANT v);
9507
9508     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9509     VARIANT onbeforeactivate();
9510
9511     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9512     void onfocusin(VARIANT v);
9513
9514     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9515     VARIANT onfocusin();
9516
9517     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9518     void onfocusout(VARIANT v);
9519
9520     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9521     VARIANT onfocusout();
9522
9523     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
9524     LONG uniqueNumber();
9525
9526     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
9527     BSTR uniqueID();
9528
9529     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
9530     LONG nodeType();
9531
9532     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
9533     IHTMLDOMNode *parentNode();
9534
9535     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
9536     VARIANT_BOOL hasChildNodes();
9537
9538     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
9539     IDispatch *childNodes();
9540
9541     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
9542     IDispatch *attributes();
9543
9544     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
9545     IHTMLDOMNode *insertBefore(
9546             [in] IHTMLDOMNode *newChild,
9547             [in, optional] VARIANT refChild);
9548
9549     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
9550     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
9551
9552     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
9553     IHTMLDOMNode *replaceChild(
9554             [in] IHTMLDOMNode *newChild,
9555             [in] IHTMLDOMNode *oldChild);
9556
9557     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
9558     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
9559
9560     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
9561     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
9562
9563     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
9564     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
9565
9566     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
9567     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
9568
9569     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
9570     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
9571
9572     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
9573     BSTR nodeName();
9574
9575     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9576     void nodeValue(VARIANT v);
9577
9578     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9579     VARIANT nodeValue();
9580
9581     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
9582     IHTMLDOMNode *firstChild();
9583
9584     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
9585     IHTMLDOMNode *lastChild();
9586
9587     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
9588     IHTMLDOMNode *previousSibling();
9589
9590     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
9591     IHTMLDOMNode *nextSibling();
9592
9593     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
9594     IDispatch *ownerDocument();
9595
9596     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9597     void dataFld(BSTR v);
9598
9599     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9600     BSTR dataFld();
9601
9602     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
9603     void dataSrc(BSTR v);
9604
9605     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
9606     BSTR dataSrc();
9607
9608     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9609     void dataFormatAs(BSTR v);
9610
9611     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9612     BSTR dataFormatAs();
9613
9614     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9615     void size(LONG v);
9616
9617     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
9618     LONG size();
9619
9620     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9621     void multiple(VARIANT_BOOL v);
9622
9623     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
9624     VARIANT_BOOL multiple();
9625
9626     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9627     void name(BSTR v);
9628
9629     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
9630     BSTR name();
9631
9632     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
9633     IDispatch *options();
9634
9635     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9636     void onchange(VARIANT v);
9637
9638     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
9639     VARIANT onchange();
9640
9641     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9642     void selectedIndex(LONG v);
9643
9644     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
9645     LONG selectedIndex();
9646
9647     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
9648     BSTR type();
9649
9650     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9651     void value(BSTR v);
9652
9653     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
9654     BSTR value();
9655
9656     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
9657     IHTMLFormElement *form();
9658
9659     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
9660     void add(
9661             [in] IHTMLElement *element,
9662             [in, optional] VARIANT before);
9663
9664     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
9665     void remove([in, defaultvalue(-1)] LONG index);
9666
9667     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9668     void length(LONG v);
9669
9670     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
9671     LONG length();
9672
9673     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
9674     IUnknown *_newEnum();
9675
9676     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
9677     IDispatch *item(
9678             [in, optional] VARIANT name,
9679             [in, optional] VARIANT index);
9680
9681     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
9682     IDispatch *tags([in] VARIANT tagName);
9683
9684     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
9685     IDispatch *urns([in] VARIANT urn);
9686
9687     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
9688     IDispatch *namedItem([in] BSTR name);
9689 }
9690
9691 /*****************************************************************************
9692  *    IHTMLSelectionObject interface
9693  */
9694 [
9695     odl,
9696     oleautomation,
9697     dual,
9698     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
9699 ]
9700 interface IHTMLSelectionObject : IDispatch
9701 {
9702     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
9703     HRESULT createRange([retval, out] IDispatch **range);
9704
9705     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
9706     HRESULT empty();
9707
9708     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
9709     HRESULT clear();
9710
9711     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
9712     HRESULT type([retval, out] BSTR *p);
9713 }
9714
9715 /*****************************************************************************
9716  *    IHTMLOptionElement interface
9717  */
9718 [
9719     odl,
9720     oleautomation,
9721     dual,
9722     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
9723 ]
9724 interface IHTMLOptionElement : IDispatch
9725 {
9726     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9727     HRESULT selected([in] VARIANT_BOOL v);
9728
9729     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
9730     HRESULT selected([retval, out] VARIANT_BOOL *p);
9731
9732     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9733     HRESULT value([in] BSTR v);
9734
9735     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
9736     HRESULT value([retval, out] BSTR *p);
9737
9738     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9739     HRESULT defaultSelected([in] VARIANT_BOOL v);
9740
9741     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
9742     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
9743
9744     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9745     HRESULT index([in] LONG v);
9746
9747     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
9748     HRESULT index([retval, out] LONG *p);
9749
9750     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9751     HRESULT text([in] BSTR v);
9752
9753     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
9754     HRESULT text([retval, out] BSTR *p);
9755
9756     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
9757     HRESULT form([retval, out] IHTMLFormElement **p);
9758 }
9759
9760 [
9761     odl,
9762     oleautomation,
9763     dual,
9764     uuid(3050f820-98b5-11cf-bb82-00aa00bdce0b)
9765 ]
9766 interface IHTMLOptionElement3 : IDispatch
9767 {
9768     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9769     HRESULT label([in] BSTR v);
9770
9771     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
9772     HRESULT label([retval, out] BSTR * p);
9773 }
9774
9775 /*****************************************************************************
9776  *    IHTMLOptionElementFactory interface
9777  */
9778 [
9779     odl,
9780     oleautomation,
9781     dual,
9782     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
9783 ]
9784 interface IHTMLOptionElementFactory : IDispatch
9785 {
9786     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
9787     HRESULT create(
9788         [optional, in] VARIANT text,
9789         [optional, in] VARIANT value,
9790         [optional, in] VARIANT defaultselected,
9791         [optional, in] VARIANT selected,
9792         [retval, out] IHTMLOptionElement **optelem);
9793 }
9794
9795 /*****************************************************************************
9796  *    DispHTMLOptionElement dispinterface
9797  */
9798 [
9799     hidden,
9800     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
9801 ]
9802 dispinterface DispHTMLOptionElement
9803 {
9804 properties:
9805 methods:
9806     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
9807     void setAttribute(
9808             [in] BSTR strAttributeName,
9809             [in] VARIANT AttributeValue,
9810             [in, defaultvalue(1)] LONG lFlags);
9811
9812     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
9813     VARIANT getAttribute(
9814              [in] BSTR strAttributeName,
9815              [in, defaultvalue(0)] LONG lFlags);
9816
9817     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
9818     VARIANT_BOOL removeAttribute(
9819             [in] BSTR strAttributeName,
9820             [in, defaultvalue(1)] LONG lFlags);
9821
9822     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9823     void className(BSTR v);
9824
9825     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9826     BSTR className();
9827
9828     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
9829     void id(BSTR v);
9830
9831     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
9832     BSTR id();
9833
9834     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
9835     BSTR tagName();
9836
9837     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
9838     IHTMLElement *parentElement();
9839
9840     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
9841     IHTMLStyle *style();
9842
9843     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9844     void onhelp(VARIANT v);
9845
9846     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9847     VARIANT onhelp();
9848
9849     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9850     void onclick(VARIANT v);
9851
9852     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9853     VARIANT onclick();
9854
9855     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9856     void ondblclick(VARIANT v);
9857
9858     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9859     VARIANT ondblclick();
9860
9861     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9862     void onkeydown(VARIANT v);
9863
9864     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9865     VARIANT onkeydown();
9866
9867     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9868     void onkeyup(VARIANT v);
9869
9870     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9871     VARIANT onkeyup();
9872
9873     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9874     void onkeypress(VARIANT v);
9875
9876     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9877     VARIANT onkeypress();
9878
9879     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9880     void onmouseout(VARIANT v);
9881
9882     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9883     VARIANT onmouseout();
9884
9885     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9886     void onmouseover(VARIANT v);
9887
9888     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9889     VARIANT onmouseover();
9890
9891     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9892     void onmousemove(VARIANT v);
9893
9894     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9895     VARIANT onmousemove();
9896
9897     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9898     void onmousedown(VARIANT v);
9899
9900     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9901     VARIANT onmousedown();
9902
9903     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9904     void onmouseup(VARIANT v);
9905
9906     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9907     VARIANT onmouseup();
9908
9909     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
9910     IDispatch *document();
9911
9912     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9913     void title(BSTR v);
9914
9915     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9916     BSTR title();
9917
9918     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9919     void language(BSTR v);
9920
9921     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9922     BSTR language();
9923
9924     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9925     void onselectstart(VARIANT v);
9926
9927     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9928     VARIANT onselectstart();
9929
9930     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
9931     void scrollIntoView([in, optional] VARIANT varargStart);
9932
9933     [id(DISPID_IHTMLELEMENT_CONTAINS)]
9934     VARIANT_BOOL contains([in] IHTMLElement *pChild);
9935
9936     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
9937     LONG sourceIndex();
9938
9939     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
9940     VARIANT recordNumber();
9941
9942     [propput, id(DISPID_IHTMLELEMENT_LANG)]
9943     void lang(BSTR v);
9944
9945     [propget, id(DISPID_IHTMLELEMENT_LANG)]
9946     BSTR lang();
9947
9948     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
9949     LONG offsetLeft();
9950
9951     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
9952     LONG offsetTop();
9953
9954     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
9955     LONG offsetWidth();
9956
9957     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
9958     LONG offsetHeight();
9959
9960     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
9961     IHTMLElement *offsetParent();
9962
9963     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
9964     void innerHTML(BSTR v);
9965
9966     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
9967     BSTR innerHTML();
9968
9969     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9970     void innerText(BSTR v);
9971
9972     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9973     BSTR innerText();
9974
9975     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9976     void outerHTML(BSTR v);
9977
9978     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9979     BSTR outerHTML();
9980
9981     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9982     void outerText(BSTR v);
9983
9984     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9985     BSTR outerText();
9986
9987     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
9988     void insertAdjacentHTML(
9989             [in] BSTR where,
9990             [in] BSTR html);
9991
9992     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
9993     void insertAdjacentText(
9994             [in] BSTR where,
9995             [in] BSTR text);
9996
9997     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
9998     IHTMLElement *parentTextEdit();
9999
10000     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
10001     VARIANT_BOOL isTextEdit();
10002
10003     [id(DISPID_IHTMLELEMENT_CLICK)]
10004     void click();
10005
10006     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
10007     IHTMLFiltersCollection *filters();
10008
10009     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
10010     void ondragstart(VARIANT v);
10011
10012     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
10013     VARIANT ondragstart();
10014
10015     [id(DISPID_IHTMLELEMENT_TOSTRING)]
10016     BSTR toString();
10017
10018     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
10019     void onbeforeupdate(VARIANT v);
10020
10021     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
10022     VARIANT onbeforeupdate();
10023
10024     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
10025     void onafterupdate(VARIANT v);
10026
10027     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
10028     VARIANT onafterupdate();
10029
10030     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
10031     void onerrorupdate(VARIANT v);
10032
10033     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
10034     VARIANT onerrorupdate();
10035
10036     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
10037     void onrowexit(VARIANT v);
10038
10039     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
10040     VARIANT onrowexit();
10041
10042     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
10043     void onrowenter(VARIANT v);
10044
10045     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
10046     VARIANT onrowenter();
10047
10048     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
10049     void ondatasetchanged(VARIANT v);
10050
10051     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
10052     VARIANT ondatasetchanged();
10053
10054     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
10055     void ondataavailable(VARIANT v);
10056
10057     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
10058     VARIANT ondataavailable();
10059
10060     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
10061     void ondatasetcomplete(VARIANT v);
10062
10063     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
10064     VARIANT ondatasetcomplete();
10065
10066     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
10067     void onfilterchange(VARIANT v);
10068
10069     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
10070     VARIANT onfilterchange();
10071
10072     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
10073     IDispatch *children();
10074
10075     [propget, id(DISPID_IHTMLELEMENT_ALL)]
10076     IDispatch *all();
10077
10078     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
10079     BSTR scopeName();
10080
10081     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
10082     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
10083
10084     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
10085     void releaseCapture();
10086
10087     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
10088     void onlosecapture(VARIANT v);
10089
10090     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
10091     VARIANT onlosecapture();
10092
10093     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
10094     BSTR componentFromPoint(
10095             [in] LONG x,
10096             [in] LONG y);
10097
10098     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
10099     void doScroll([in, optional] VARIANT component);
10100
10101     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
10102     void onscroll(VARIANT v);
10103
10104     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
10105     VARIANT onscroll();
10106
10107     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
10108     void ondrag(VARIANT v);
10109
10110     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
10111     VARIANT ondrag();
10112
10113     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
10114     void ondragend(VARIANT v);
10115
10116     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
10117     VARIANT ondragend();
10118
10119     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
10120     void ondragenter(VARIANT v);
10121
10122     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
10123     VARIANT ondragenter();
10124
10125     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
10126     void ondragover(VARIANT v);
10127
10128     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
10129     VARIANT ondragover();
10130
10131     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
10132     void ondragleave(VARIANT v);
10133
10134     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
10135     VARIANT ondragleave();
10136
10137     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
10138     void ondrop(VARIANT v);
10139
10140     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
10141     VARIANT ondrop();
10142
10143     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
10144     void onbeforecut(VARIANT v);
10145
10146     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
10147     VARIANT onbeforecut();
10148
10149     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
10150     void oncut(VARIANT v);
10151
10152     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
10153     VARIANT oncut();
10154
10155     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10156     void onbeforecopy(VARIANT v);
10157
10158     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
10159     VARIANT onbeforecopy();
10160
10161     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10162     void oncopy(VARIANT v);
10163
10164     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
10165     VARIANT oncopy();
10166
10167     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10168     void onbeforepaste(VARIANT v);
10169
10170     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
10171     VARIANT onbeforepaste();
10172
10173     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10174     void onpaste(VARIANT v);
10175
10176     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
10177     VARIANT onpaste();
10178
10179     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
10180     IHTMLCurrentStyle *currentStyle();
10181
10182     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10183     void onpropertychange(VARIANT v);
10184
10185     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
10186     VARIANT onpropertychange();
10187
10188     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
10189     IHTMLRectCollection *getClientRects();
10190
10191     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
10192     IHTMLRect *getBoundingClientRect();
10193
10194     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
10195     void setExpression(
10196             [in] BSTR propname,
10197             [in] BSTR expression,
10198             [in, defaultvalue("")] BSTR language);
10199
10200     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
10201     VARIANT getExpression([in] BSTR propname);
10202
10203     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
10204     VARIANT_BOOL removeExpression([in] BSTR propname);
10205
10206     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10207     void tabIndex(short v);
10208
10209     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
10210     short tabIndex();
10211
10212     [id(DISPID_IHTMLELEMENT2_FOCUS)]
10213     void focus();
10214
10215     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10216     void accessKey(BSTR v);
10217
10218     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10219     BSTR accessKey();
10220
10221     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10222     void onblur(VARIANT v);
10223
10224     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10225     VARIANT onblur();
10226
10227     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10228     void onfocus(VARIANT v);
10229
10230     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10231     VARIANT onfocus();
10232
10233     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10234     void onresize(VARIANT v);
10235
10236     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10237     VARIANT onresize();
10238
10239     [id(DISPID_IHTMLELEMENT2_BLUR)]
10240     void blur();
10241
10242     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
10243     void addFilter([in] IUnknown *pUnk);
10244
10245     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
10246     void removeFilter([in] IUnknown *pUnk);
10247
10248     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
10249     LONG clientHeight();
10250
10251     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
10252     LONG clientWidth();
10253
10254     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
10255     LONG clientTop();
10256
10257     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
10258     LONG clientLeft();
10259
10260     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
10261     VARIANT_BOOL attachEvent(
10262             [in] BSTR event,
10263             [in] IDispatch *pDisp);
10264
10265     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
10266     void detachEvent(
10267             [in] BSTR event,
10268             [in] IDispatch *pDisp);
10269
10270     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
10271     VARIANT readyState();
10272
10273     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10274     void onreadystatechange(VARIANT v);
10275
10276     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10277     VARIANT onreadystatechange();
10278
10279     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10280     void onrowsdelete(VARIANT v);
10281
10282     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10283     VARIANT onrowsdelete();
10284
10285     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10286     void onrowsinserted(VARIANT v);
10287
10288     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10289      VARIANT onrowsinserted();
10290
10291     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10292      void oncellchange(VARIANT v);
10293
10294     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10295     VARIANT oncellchange();
10296
10297     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10298     void dir(BSTR v);
10299
10300     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10301     BSTR dir();
10302
10303     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
10304     IDispatch *createControlRange();
10305
10306     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
10307     LONG scrollHeight();
10308
10309     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
10310     LONG scrollWidth();
10311
10312     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10313     void scrollTop(LONG v);
10314
10315     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10316     LONG scrollTop();
10317
10318     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10319     void scrollLeft(LONG v);
10320
10321     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10322     LONG scrollLeft();
10323
10324     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
10325     void clearAttributes();
10326
10327     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10328     void oncontextmenu(VARIANT v);
10329
10330     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10331     VARIANT oncontextmenu();
10332
10333     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
10334     IHTMLElement *insertAdjacentElement(
10335             [in] BSTR where,
10336             [in] IHTMLElement *insertedElement);
10337
10338     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
10339     IHTMLElement *applyElement(
10340             [in] IHTMLElement *apply,
10341             [in] BSTR where);
10342
10343     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
10344     BSTR getAdjacentText([in] BSTR where);
10345
10346     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
10347     BSTR replaceAdjacentText(
10348             [in] BSTR where,
10349             [in] BSTR newText);
10350
10351     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
10352     VARIANT_BOOL canHaveChildren();
10353
10354     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
10355     LONG addBehavior(
10356             [in] BSTR bstrUrl,
10357             [in, optional] VARIANT *pvarFactory);
10358
10359     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
10360     VARIANT_BOOL removeBehavior([in] LONG cookie);
10361
10362     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
10363     IHTMLStyle *runtimeStyle();
10364
10365     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
10366     IDispatch *behaviorUrns();
10367
10368     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
10369     void tagUrn(BSTR v);
10370
10371     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
10372     BSTR tagUrn();
10373
10374     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10375     void onbeforeeditfocus(VARIANT v);
10376
10377     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10378     VARIANT onbeforeeditfocus();
10379
10380     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
10381     LONG readyStateValue();
10382
10383     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
10384     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
10385
10386     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
10387     void mergeAttributes(
10388             [in] IHTMLElement *mergeThis,
10389             [in, optional] VARIANT *pvarFlags);
10390
10391     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
10392     VARIANT_BOOL isMultiLine();
10393
10394     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
10395     VARIANT_BOOL canHaveHTML();
10396
10397     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10398     void onlayoutcomplete(VARIANT v);
10399
10400     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10401     VARIANT onlayoutcomplete();
10402
10403     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10404     void onpage(VARIANT v);
10405
10406     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10407     VARIANT onpage();
10408
10409     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10410     void inflateBlock(VARIANT_BOOL v);
10411
10412     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10413     VARIANT_BOOL inflateBlock();
10414
10415     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10416     void onbeforedeactivate(VARIANT v);
10417
10418     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10419     VARIANT onbeforedeactivate();
10420
10421     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
10422     void setActive();
10423
10424     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10425     void contentEditable(BSTR v);
10426
10427     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10428     BSTR contentEditable();
10429
10430     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
10431     VARIANT_BOOL isContentEditable();
10432
10433     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10434     void hideFocus(VARIANT_BOOL v);
10435
10436     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10437     VARIANT_BOOL hideFocus();
10438
10439     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10440     void disabled(VARIANT_BOOL v);
10441
10442     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10443     VARIANT_BOOL disabled();
10444
10445     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
10446     VARIANT_BOOL isDisabled();
10447
10448     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10449     void onmove(VARIANT v);
10450
10451     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10452     VARIANT onmove();
10453
10454     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10455     void oncontrolselect(VARIANT v);
10456
10457     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10458     VARIANT oncontrolselect();
10459
10460     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
10461     VARIANT_BOOL fireEvent(
10462             [in] BSTR bstrEventName,
10463             [in, optional] VARIANT *pvarEventObject);
10464
10465     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10466     void onresizestart(VARIANT v);
10467
10468     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10469     VARIANT onresizestart();
10470
10471     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10472     void onresizeend(VARIANT v);
10473
10474     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10475     VARIANT onresizeend();
10476
10477     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10478     void onmovestart(VARIANT v);
10479
10480     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10481     VARIANT onmovestart();
10482
10483     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10484     void onmoveend(VARIANT v);
10485
10486     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10487     VARIANT onmoveend();
10488
10489     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10490     void onmouseenter(VARIANT v);
10491
10492     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10493     VARIANT onmouseenter();
10494
10495     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10496     void onmouseleave(VARIANT v);
10497
10498     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10499     VARIANT onmouseleave();
10500
10501     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10502     void onactivate(VARIANT v);
10503
10504     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10505     VARIANT onactivate();
10506
10507     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10508     void ondeactivate(VARIANT v);
10509
10510     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10511     VARIANT ondeactivate();
10512
10513     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
10514     VARIANT_BOOL dragDrop();
10515
10516     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
10517     LONG glyphMode();
10518
10519     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10520     void onmousewheel(VARIANT v);
10521
10522     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10523     VARIANT onmousewheel();
10524
10525     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
10526     void normalize();
10527
10528     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
10529     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
10530
10531     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
10532     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
10533
10534     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
10535     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
10536
10537     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10538     void onbeforeactivate(VARIANT v);
10539
10540     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10541     VARIANT onbeforeactivate();
10542
10543     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10544     void onfocusin(VARIANT v);
10545
10546     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10547     VARIANT onfocusin();
10548
10549     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10550     void onfocusout(VARIANT v);
10551
10552     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10553     VARIANT onfocusout();
10554
10555     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
10556     LONG uniqueNumber();
10557
10558     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
10559     BSTR uniqueID();
10560
10561     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
10562     LONG nodeType();
10563
10564     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
10565     IHTMLDOMNode *parentNode();
10566
10567     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
10568     VARIANT_BOOL hasChildNodes();
10569
10570     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
10571     IDispatch *childNodes();
10572
10573     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
10574     IDispatch *attributes();
10575
10576     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
10577     IHTMLDOMNode *insertBefore(
10578             [in] IHTMLDOMNode *newChild,
10579             [in, optional] VARIANT refChild);
10580
10581     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
10582     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
10583
10584     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
10585     IHTMLDOMNode *replaceChild(
10586             [in] IHTMLDOMNode *newChild,
10587             [in] IHTMLDOMNode *oldChild);
10588
10589     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
10590     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
10591
10592     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
10593     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
10594
10595     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
10596     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
10597
10598     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
10599     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
10600
10601     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
10602     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
10603
10604     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
10605     BSTR nodeName();
10606
10607     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10608     void nodeValue(VARIANT v);
10609
10610     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10611     VARIANT nodeValue();
10612
10613     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
10614     IHTMLDOMNode *firstChild();
10615
10616     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
10617     IHTMLDOMNode *lastChild();
10618
10619     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
10620     IHTMLDOMNode *previousSibling();
10621
10622     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
10623     IHTMLDOMNode *nextSibling();
10624
10625     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
10626     IDispatch *ownerDocument();
10627
10628     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10629     void dataFld(BSTR v);
10630
10631     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
10632     BSTR dataFld();
10633
10634     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
10635     void dataSrc(BSTR v);
10636
10637     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
10638     BSTR dataSrc();
10639
10640     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10641     void dataFormatAs(BSTR v);
10642
10643     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
10644     BSTR dataFormatAs();
10645
10646     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
10647     void selected(VARIANT_BOOL v);
10648
10649     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
10650     VARIANT_BOOL selected();
10651
10652     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
10653     void value(BSTR v);
10654
10655     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
10656     BSTR value();
10657
10658     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
10659     void defaultSelected(VARIANT_BOOL v);
10660
10661     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
10662     VARIANT_BOOL defaultSelected();
10663
10664     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10665     void index(LONG v);
10666
10667     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
10668     LONG index();
10669
10670     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10671     void text(BSTR v);
10672
10673     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
10674     BSTR text();
10675
10676     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
10677     IHTMLFormElement *form();
10678
10679     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10680     void label(BSTR v);
10681
10682     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
10683     BSTR label();
10684 }
10685
10686 [
10687     noncreatable,
10688     uuid(3050f24d-98b5-11cf-bb82-00aa00bdce0b)
10689 ]
10690 coclass HTMLOptionElement
10691 {
10692     [default]           dispinterface DispHTMLOptionElement;
10693     [source, default]   dispinterface HTMLElementEvents;
10694     [source]            dispinterface HTMLElementEvents2;
10695                         interface IHTMLElement;
10696                         interface IHTMLElement2;
10697                         interface IHTMLElement3;
10698                         interface IHTMLElement4;
10699                         interface IHTMLUniqueName;
10700                         interface IHTMLDOMNode;
10701                         interface IHTMLDOMNode2;
10702                         interface IHTMLDatabinding;
10703                         interface IHTMLOptionElement;
10704                         interface IHTMLOptionElement3;
10705 }
10706
10707 /*****************************************************************************
10708  *    IHTMLInputElement interface
10709  */
10710 [
10711     odl,
10712     oleautomation,
10713     dual,
10714     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
10715 ]
10716 interface IHTMLInputElement : IDispatch
10717 {
10718     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10719     HRESULT type([in] BSTR v);
10720
10721     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
10722     HRESULT type([retval, out] BSTR *p);
10723
10724     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10725     HRESULT value([in] BSTR v);
10726
10727     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
10728     HRESULT value([retval, out] BSTR *p);
10729
10730     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10731     HRESULT name([in] BSTR v);
10732
10733     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
10734     HRESULT name([retval, out] BSTR *p);
10735
10736     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10737     HRESULT status([in] VARIANT_BOOL v);
10738
10739     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
10740     HRESULT status([retval, out] VARIANT_BOOL *p);
10741
10742     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10743     HRESULT disabled([in] VARIANT_BOOL v);
10744
10745     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
10746     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10747
10748     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
10749     HRESULT form([retval, out] IHTMLFormElement **p);
10750
10751     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10752     HRESULT size([in] LONG v);
10753
10754     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
10755     HRESULT size([retval, out] LONG *p);
10756
10757     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10758     HRESULT maxLength([in] LONG v);
10759
10760     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
10761     HRESULT maxLength([retval, out] LONG *p);
10762
10763     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
10764     HRESULT select();
10765
10766     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10767     HRESULT onchange([in] VARIANT v);
10768
10769     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
10770     HRESULT onchange([retval, out] VARIANT *p);
10771
10772     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10773     HRESULT onselect([in] VARIANT v);
10774
10775     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
10776     HRESULT onselect([retval, out] VARIANT *p);
10777
10778     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10779     HRESULT defaultValue([in] BSTR v);
10780
10781     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10782     HRESULT defaultValue([retval, out] BSTR *p);
10783
10784     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10785     HRESULT readOnly([in] VARIANT_BOOL v);
10786
10787     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
10788     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10789
10790     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
10791     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10792
10793     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10794     HRESULT indeterminate([in] VARIANT_BOOL v);
10795
10796     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
10797     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
10798
10799     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10800     HRESULT defaultChecked([in] VARIANT_BOOL v);
10801
10802     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
10803     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
10804
10805     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10806     HRESULT checked([in] VARIANT_BOOL v);
10807
10808     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
10809     HRESULT checked([retval, out] VARIANT_BOOL *p);
10810
10811     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10812     HRESULT border([in] VARIANT v);
10813
10814     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
10815     HRESULT border([retval, out] VARIANT *p);
10816
10817     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10818     HRESULT vspace([in] LONG v);
10819
10820     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
10821     HRESULT vspace([retval, out] LONG *p);
10822
10823     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10824     HRESULT hspace([in] LONG v);
10825
10826     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
10827     HRESULT hspace([retval, out] LONG *p);
10828
10829     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10830     HRESULT alt([in] BSTR v);
10831
10832     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
10833     HRESULT alt([retval, out] BSTR *p);
10834
10835     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10836     HRESULT src([in] BSTR v);
10837
10838     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
10839     HRESULT src([retval, out] BSTR *p);
10840
10841     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10842     HRESULT lowsrc([in] BSTR v);
10843
10844     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
10845     HRESULT lowsrc([retval, out] BSTR *p);
10846
10847     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10848     HRESULT vrml([in] BSTR v);
10849
10850     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
10851     HRESULT vrml([retval, out] BSTR *p);
10852
10853     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10854     HRESULT dynsrc([in] BSTR v);
10855
10856     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
10857     HRESULT dynsrc([retval, out] BSTR *p);
10858
10859     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
10860     HRESULT readyState([retval, out] BSTR *p);
10861
10862     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
10863     HRESULT complete([retval, out] VARIANT_BOOL *p);
10864
10865     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10866     HRESULT loop([in] VARIANT v);
10867
10868     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
10869     HRESULT loop([retval, out] VARIANT *p);
10870
10871     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10872     HRESULT align([in] BSTR v);
10873
10874     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
10875     HRESULT align([retval, out] BSTR *p);
10876
10877     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10878     HRESULT onload([in] VARIANT v);
10879
10880     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
10881     HRESULT onload([retval, out] VARIANT *p);
10882
10883     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10884     HRESULT onerror([in] VARIANT v);
10885
10886     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
10887     HRESULT onerror([retval, out] VARIANT *p);
10888
10889     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10890     HRESULT onabort([in] VARIANT v);
10891
10892     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
10893     HRESULT onabort([retval, out] VARIANT *p);
10894
10895     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10896     HRESULT width([in] LONG v);
10897
10898     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
10899     HRESULT width([retval, out] LONG *p);
10900
10901     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10902     HRESULT height([in] LONG v);
10903
10904     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
10905     HRESULT height([retval, out] LONG *p);
10906
10907     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10908     HRESULT start([in] BSTR v);
10909
10910     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
10911     HRESULT start([retval, out] BSTR *p);
10912 }
10913
10914 /*****************************************************************************
10915  *    IHTMLInputTextElement interface
10916  */
10917 [
10918     odl,
10919     oleautomation,
10920     dual,
10921     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
10922 ]
10923 interface IHTMLInputTextElement : IDispatch
10924 {
10925     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
10926     HRESULT type([retval, out] BSTR *p);
10927
10928     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10929     HRESULT value([in] BSTR v);
10930
10931     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
10932     HRESULT value([retval, out] BSTR *p);
10933
10934     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10935     HRESULT name([in] BSTR v);
10936
10937     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
10938     HRESULT name([retval, out] BSTR *p);
10939
10940     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10941     HRESULT status([in] VARIANT v);
10942
10943     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
10944     HRESULT status([retval, out] VARIANT *p);
10945
10946     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10947     HRESULT disabled([in] VARIANT_BOOL v);
10948
10949     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
10950     HRESULT disabled([retval, out] VARIANT_BOOL *p);
10951
10952     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
10953     HRESULT form([retval, out] IHTMLFormElement **p);
10954
10955     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10956     HRESULT defaultValue([in] BSTR v);
10957
10958     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
10959     HRESULT defaultValue([retval, out] BSTR *p);
10960
10961     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10962     HRESULT size([in] LONG v);
10963
10964     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
10965     HRESULT size([retval, out] LONG *p);
10966
10967     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10968     HRESULT maxLength([in] LONG v);
10969
10970     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
10971     HRESULT maxLength([retval, out] LONG *p);
10972
10973     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
10974     HRESULT select();
10975
10976     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10977     HRESULT onchange([in] VARIANT v);
10978
10979     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
10980     HRESULT onchange([retval, out] VARIANT *p);
10981
10982     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10983     HRESULT onselect([in] VARIANT v);
10984
10985     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
10986     HRESULT onselect([retval, out] VARIANT *p);
10987
10988     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10989     HRESULT readOnly([in] VARIANT_BOOL v);
10990
10991     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
10992     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
10993
10994     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
10995     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
10996 }
10997
10998 [
10999     hidden,
11000     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
11001 ]
11002 dispinterface DispHTMLInputElement
11003 {
11004 properties:
11005 methods:
11006     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
11007     void setAttribute(
11008             [in] BSTR strAttributeName,
11009             [in] VARIANT AttributeValue,
11010             [in, defaultvalue(1)] LONG lFlags);
11011
11012     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
11013     VARIANT getAttribute(
11014              [in] BSTR strAttributeName,
11015              [in, defaultvalue(0)] LONG lFlags);
11016
11017     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
11018     VARIANT_BOOL removeAttribute(
11019             [in] BSTR strAttributeName,
11020             [in, defaultvalue(1)] LONG lFlags);
11021
11022     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11023     void className(BSTR v);
11024
11025     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
11026     BSTR className();
11027
11028     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
11029     void id(BSTR v);
11030
11031     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
11032     BSTR id();
11033
11034     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
11035     BSTR tagName();
11036
11037     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
11038     IHTMLElement *parentElement();
11039
11040     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
11041     IHTMLStyle *style();
11042
11043     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
11044     void onhelp(VARIANT v);
11045
11046     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
11047     VARIANT onhelp();
11048
11049     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
11050     void onclick(VARIANT v);
11051
11052     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
11053     VARIANT onclick();
11054
11055     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
11056     void ondblclick(VARIANT v);
11057
11058     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
11059     VARIANT ondblclick();
11060
11061     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
11062     void onkeydown(VARIANT v);
11063
11064     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
11065     VARIANT onkeydown();
11066
11067     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
11068     void onkeyup(VARIANT v);
11069
11070     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
11071     VARIANT onkeyup();
11072
11073     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
11074     void onkeypress(VARIANT v);
11075
11076     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
11077     VARIANT onkeypress();
11078
11079     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
11080     void onmouseout(VARIANT v);
11081
11082     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
11083     VARIANT onmouseout();
11084
11085     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
11086     void onmouseover(VARIANT v);
11087
11088     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
11089     VARIANT onmouseover();
11090
11091     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
11092     void onmousemove(VARIANT v);
11093
11094     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
11095     VARIANT onmousemove();
11096
11097     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
11098     void onmousedown(VARIANT v);
11099
11100     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
11101     VARIANT onmousedown();
11102
11103     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
11104     void onmouseup(VARIANT v);
11105
11106     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
11107     VARIANT onmouseup();
11108
11109     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
11110     IDispatch *document();
11111
11112     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
11113     void title(BSTR v);
11114
11115     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
11116     BSTR title();
11117
11118     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
11119     void language(BSTR v);
11120
11121     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
11122     BSTR language();
11123
11124     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
11125     void onselectstart(VARIANT v);
11126
11127     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
11128     VARIANT onselectstart();
11129
11130     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
11131     void scrollIntoView([in, optional] VARIANT varargStart);
11132
11133     [id(DISPID_IHTMLELEMENT_CONTAINS)]
11134     VARIANT_BOOL contains([in] IHTMLElement *pChild);
11135
11136     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
11137     LONG sourceIndex();
11138
11139     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
11140     VARIANT recordNumber();
11141
11142     [propput, id(DISPID_IHTMLELEMENT_LANG)]
11143     void lang(BSTR v);
11144
11145     [propget, id(DISPID_IHTMLELEMENT_LANG)]
11146     BSTR lang();
11147
11148     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
11149     LONG offsetLeft();
11150
11151     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
11152     LONG offsetTop();
11153
11154     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
11155     LONG offsetWidth();
11156
11157     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
11158     LONG offsetHeight();
11159
11160     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
11161     IHTMLElement *offsetParent();
11162
11163     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
11164     void innerHTML(BSTR v);
11165
11166     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
11167     BSTR innerHTML();
11168
11169     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
11170     void innerText(BSTR v);
11171
11172     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
11173     BSTR innerText();
11174
11175     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11176     void outerHTML(BSTR v);
11177
11178     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
11179     BSTR outerHTML();
11180
11181     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11182     void outerText(BSTR v);
11183
11184     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
11185     BSTR outerText();
11186
11187     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
11188     void insertAdjacentHTML(
11189             [in] BSTR where,
11190             [in] BSTR html);
11191
11192     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
11193     void insertAdjacentText(
11194             [in] BSTR where,
11195             [in] BSTR text);
11196
11197     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
11198     IHTMLElement *parentTextEdit();
11199
11200     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
11201     VARIANT_BOOL isTextEdit();
11202
11203     [id(DISPID_IHTMLELEMENT_CLICK)]
11204     void click();
11205
11206     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
11207     IHTMLFiltersCollection *filters();
11208
11209     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11210     void ondragstart(VARIANT v);
11211
11212     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
11213     VARIANT ondragstart();
11214
11215     [id(DISPID_IHTMLELEMENT_TOSTRING)]
11216     BSTR toString();
11217
11218     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11219     void onbeforeupdate(VARIANT v);
11220
11221     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
11222     VARIANT onbeforeupdate();
11223
11224     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11225     void onafterupdate(VARIANT v);
11226
11227     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
11228     VARIANT onafterupdate();
11229
11230     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11231     void onerrorupdate(VARIANT v);
11232
11233     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
11234     VARIANT onerrorupdate();
11235
11236     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11237     void onrowexit(VARIANT v);
11238
11239     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
11240     VARIANT onrowexit();
11241
11242     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11243     void onrowenter(VARIANT v);
11244
11245     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
11246     VARIANT onrowenter();
11247
11248     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11249     void ondatasetchanged(VARIANT v);
11250
11251     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
11252     VARIANT ondatasetchanged();
11253
11254     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11255     void ondataavailable(VARIANT v);
11256
11257     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
11258     VARIANT ondataavailable();
11259
11260     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11261     void ondatasetcomplete(VARIANT v);
11262
11263     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
11264     VARIANT ondatasetcomplete();
11265
11266     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11267     void onfilterchange(VARIANT v);
11268
11269     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
11270     VARIANT onfilterchange();
11271
11272     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
11273     IDispatch *children();
11274
11275     [propget, id(DISPID_IHTMLELEMENT_ALL)]
11276     IDispatch *all();
11277
11278     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
11279     BSTR scopeName();
11280
11281     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
11282     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
11283
11284     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
11285     void releaseCapture();
11286
11287     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11288     void onlosecapture(VARIANT v);
11289
11290     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
11291     VARIANT onlosecapture();
11292
11293     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
11294     BSTR componentFromPoint(
11295             [in] LONG x,
11296             [in] LONG y);
11297
11298     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
11299     void doScroll([in, optional] VARIANT component);
11300
11301     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11302     void onscroll(VARIANT v);
11303
11304     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
11305     VARIANT onscroll();
11306
11307     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11308     void ondrag(VARIANT v);
11309
11310     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
11311     VARIANT ondrag();
11312
11313     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11314     void ondragend(VARIANT v);
11315
11316     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
11317     VARIANT ondragend();
11318
11319     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11320     void ondragenter(VARIANT v);
11321
11322     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
11323     VARIANT ondragenter();
11324
11325     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11326     void ondragover(VARIANT v);
11327
11328     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
11329     VARIANT ondragover();
11330
11331     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11332     void ondragleave(VARIANT v);
11333
11334     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
11335     VARIANT ondragleave();
11336
11337     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11338     void ondrop(VARIANT v);
11339
11340     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
11341     VARIANT ondrop();
11342
11343     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11344     void onbeforecut(VARIANT v);
11345
11346     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
11347     VARIANT onbeforecut();
11348
11349     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11350     void oncut(VARIANT v);
11351
11352     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
11353     VARIANT oncut();
11354
11355     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11356     void onbeforecopy(VARIANT v);
11357
11358     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
11359     VARIANT onbeforecopy();
11360
11361     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11362     void oncopy(VARIANT v);
11363
11364     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
11365     VARIANT oncopy();
11366
11367     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11368     void onbeforepaste(VARIANT v);
11369
11370     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
11371     VARIANT onbeforepaste();
11372
11373     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11374     void onpaste(VARIANT v);
11375
11376     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
11377     VARIANT onpaste();
11378
11379     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
11380     IHTMLCurrentStyle *currentStyle();
11381
11382     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11383     void onpropertychange(VARIANT v);
11384
11385     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
11386     VARIANT onpropertychange();
11387
11388     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
11389     IHTMLRectCollection *getClientRects();
11390
11391     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
11392     IHTMLRect *getBoundingClientRect();
11393
11394     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
11395     void setExpression(
11396             [in] BSTR propname,
11397             [in] BSTR expression,
11398             [in, defaultvalue("")] BSTR language);
11399
11400     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
11401     VARIANT getExpression([in] BSTR propname);
11402
11403     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
11404     VARIANT_BOOL removeExpression([in] BSTR propname);
11405
11406     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11407     void tabIndex(short v);
11408
11409     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
11410     short tabIndex();
11411
11412     [id(DISPID_IHTMLELEMENT2_FOCUS)]
11413     void focus();
11414
11415     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11416     void accessKey(BSTR v);
11417
11418     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
11419     BSTR accessKey();
11420
11421     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11422     void onblur(VARIANT v);
11423
11424     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
11425     VARIANT onblur();
11426
11427     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11428     void onfocus(VARIANT v);
11429
11430     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
11431     VARIANT onfocus();
11432
11433     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11434     void onresize(VARIANT v);
11435
11436     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
11437     VARIANT onresize();
11438
11439     [id(DISPID_IHTMLELEMENT2_BLUR)]
11440     void blur();
11441
11442     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
11443     void addFilter([in] IUnknown *pUnk);
11444
11445     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
11446     void removeFilter([in] IUnknown *pUnk);
11447
11448     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
11449     LONG clientHeight();
11450
11451     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
11452     LONG clientWidth();
11453
11454     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
11455     LONG clientTop();
11456
11457     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
11458     LONG clientLeft();
11459
11460     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
11461     VARIANT_BOOL attachEvent(
11462             [in] BSTR event,
11463             [in] IDispatch *pDisp);
11464
11465     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
11466     void detachEvent(
11467             [in] BSTR event,
11468             [in] IDispatch *pDisp);
11469
11470     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
11471     VARIANT readyState();
11472
11473     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11474     void onreadystatechange(VARIANT v);
11475
11476     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
11477     VARIANT onreadystatechange();
11478
11479     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11480     void onrowsdelete(VARIANT v);
11481
11482     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
11483     VARIANT onrowsdelete();
11484
11485     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11486     void onrowsinserted(VARIANT v);
11487
11488     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
11489      VARIANT onrowsinserted();
11490
11491     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11492      void oncellchange(VARIANT v);
11493
11494     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
11495     VARIANT oncellchange();
11496
11497     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11498     void dir(BSTR v);
11499
11500     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
11501     BSTR dir();
11502
11503     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
11504     IDispatch *createControlRange();
11505
11506     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
11507     LONG scrollHeight();
11508
11509     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
11510     LONG scrollWidth();
11511
11512     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11513     void scrollTop(LONG v);
11514
11515     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
11516     LONG scrollTop();
11517
11518     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11519     void scrollLeft(LONG v);
11520
11521     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
11522     LONG scrollLeft();
11523
11524     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
11525     void clearAttributes();
11526
11527     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11528     void oncontextmenu(VARIANT v);
11529
11530     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
11531     VARIANT oncontextmenu();
11532
11533     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
11534     IHTMLElement *insertAdjacentElement(
11535             [in] BSTR where,
11536             [in] IHTMLElement *insertedElement);
11537
11538     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
11539     IHTMLElement *applyElement(
11540             [in] IHTMLElement *apply,
11541             [in] BSTR where);
11542
11543     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
11544     BSTR getAdjacentText([in] BSTR where);
11545
11546     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
11547     BSTR replaceAdjacentText(
11548             [in] BSTR where,
11549             [in] BSTR newText);
11550
11551     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
11552     VARIANT_BOOL canHaveChildren();
11553
11554     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
11555     LONG addBehavior(
11556             [in] BSTR bstrUrl,
11557             [in, optional] VARIANT *pvarFactory);
11558
11559     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
11560     VARIANT_BOOL removeBehavior([in] LONG cookie);
11561
11562     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
11563     IHTMLStyle *runtimeStyle();
11564
11565     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
11566     IDispatch *behaviorUrns();
11567
11568     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
11569     void tagUrn(BSTR v);
11570
11571     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
11572     BSTR tagUrn();
11573
11574     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11575     void onbeforeeditfocus(VARIANT v);
11576
11577     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
11578     VARIANT onbeforeeditfocus();
11579
11580     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
11581     LONG readyStateValue();
11582
11583     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
11584     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
11585
11586     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
11587     void mergeAttributes(
11588             [in] IHTMLElement *mergeThis,
11589             [in, optional] VARIANT *pvarFlags);
11590
11591     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
11592     VARIANT_BOOL isMultiLine();
11593
11594     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
11595     VARIANT_BOOL canHaveHTML();
11596
11597     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11598     void onlayoutcomplete(VARIANT v);
11599
11600     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
11601     VARIANT onlayoutcomplete();
11602
11603     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11604     void onpage(VARIANT v);
11605
11606     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
11607     VARIANT onpage();
11608
11609     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11610     void inflateBlock(VARIANT_BOOL v);
11611
11612     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
11613     VARIANT_BOOL inflateBlock();
11614
11615     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11616     void onbeforedeactivate(VARIANT v);
11617
11618     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
11619     VARIANT onbeforedeactivate();
11620
11621     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
11622     void setActive();
11623
11624     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11625     void contentEditable(BSTR v);
11626
11627     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
11628     BSTR contentEditable();
11629
11630     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
11631     VARIANT_BOOL isContentEditable();
11632
11633     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11634     void hideFocus(VARIANT_BOOL v);
11635
11636     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
11637     VARIANT_BOOL hideFocus();
11638
11639     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11640     void disabled(VARIANT_BOOL v);
11641
11642     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
11643     VARIANT_BOOL disabled();
11644
11645     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
11646     VARIANT_BOOL isDisabled();
11647
11648     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11649     void onmove(VARIANT v);
11650
11651     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
11652     VARIANT onmove();
11653
11654     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11655     void oncontrolselect(VARIANT v);
11656
11657     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
11658     VARIANT oncontrolselect();
11659
11660     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
11661     VARIANT_BOOL fireEvent(
11662             [in] BSTR bstrEventName,
11663             [in, optional] VARIANT *pvarEventObject);
11664
11665     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11666     void onresizestart(VARIANT v);
11667
11668     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
11669     VARIANT onresizestart();
11670
11671     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11672     void onresizeend(VARIANT v);
11673
11674     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
11675     VARIANT onresizeend();
11676
11677     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11678     void onmovestart(VARIANT v);
11679
11680     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
11681     VARIANT onmovestart();
11682
11683     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11684     void onmoveend(VARIANT v);
11685
11686     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
11687     VARIANT onmoveend();
11688
11689     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11690     void onmouseenter(VARIANT v);
11691
11692     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
11693     VARIANT onmouseenter();
11694
11695     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11696     void onmouseleave(VARIANT v);
11697
11698     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
11699     VARIANT onmouseleave();
11700
11701     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11702     void onactivate(VARIANT v);
11703
11704     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
11705     VARIANT onactivate();
11706
11707     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11708     void ondeactivate(VARIANT v);
11709
11710     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
11711     VARIANT ondeactivate();
11712
11713     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
11714     VARIANT_BOOL dragDrop();
11715
11716     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
11717     LONG glyphMode();
11718
11719     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11720     void onmousewheel(VARIANT v);
11721
11722     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
11723     VARIANT onmousewheel();
11724
11725     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
11726     void normalize();
11727
11728     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
11729     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
11730
11731     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
11732     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
11733
11734     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
11735     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
11736
11737     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11738     void onbeforeactivate(VARIANT v);
11739
11740     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
11741     VARIANT onbeforeactivate();
11742
11743     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11744     void onfocusin(VARIANT v);
11745
11746     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
11747     VARIANT onfocusin();
11748
11749     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11750     void onfocusout(VARIANT v);
11751
11752     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
11753     VARIANT onfocusout();
11754
11755     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
11756     LONG uniqueNumber();
11757
11758     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
11759     BSTR uniqueID();
11760
11761     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
11762     LONG nodeType();
11763
11764     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
11765     IHTMLDOMNode *parentNode();
11766
11767     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
11768     VARIANT_BOOL hasChildNodes();
11769
11770     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
11771     IDispatch *childNodes();
11772
11773     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
11774     IDispatch *attributes();
11775
11776     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
11777     IHTMLDOMNode *insertBefore(
11778             [in] IHTMLDOMNode *newChild,
11779             [in, optional] VARIANT refChild);
11780
11781     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
11782     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
11783
11784     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
11785     IHTMLDOMNode *replaceChild(
11786             [in] IHTMLDOMNode *newChild,
11787             [in] IHTMLDOMNode *oldChild);
11788
11789     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
11790     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
11791
11792     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
11793     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
11794
11795     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
11796     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
11797
11798     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
11799     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
11800
11801     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
11802     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
11803
11804     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
11805     BSTR nodeName();
11806
11807     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11808     void nodeValue(VARIANT v);
11809
11810     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
11811     VARIANT nodeValue();
11812
11813     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
11814     IHTMLDOMNode *firstChild();
11815
11816     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
11817     IHTMLDOMNode *lastChild();
11818
11819     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
11820     IHTMLDOMNode *previousSibling();
11821
11822     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
11823     IHTMLDOMNode *nextSibling();
11824
11825     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
11826     IDispatch *ownerDocument();
11827
11828     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11829     void dataFld(BSTR v);
11830
11831     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
11832     BSTR dataFld();
11833
11834     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
11835     void dataSrc(BSTR v);
11836
11837     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
11838     BSTR dataSrc();
11839
11840     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11841     void dataFormatAs(BSTR v);
11842
11843     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
11844     BSTR dataFormatAs();
11845
11846     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11847     void type(BSTR v);
11848
11849     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
11850     BSTR type();
11851
11852     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11853     void value(BSTR v);
11854
11855     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
11856     BSTR value();
11857
11858     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11859     void name(BSTR v);
11860
11861     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
11862     BSTR name();
11863
11864     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11865     void status(VARIANT_BOOL v);
11866
11867     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
11868     VARIANT_BOOL status();
11869
11870     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
11871     IHTMLFormElement *form();
11872
11873     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11874     void size(LONG v);
11875
11876     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
11877     LONG size();
11878
11879     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11880     void maxLength(LONG v);
11881
11882     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
11883     LONG maxLength();
11884
11885     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
11886     void select();
11887
11888     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11889     void onchange(VARIANT v);
11890
11891     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
11892     VARIANT onchange();
11893
11894     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11895     void onselect(VARIANT v);
11896
11897     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
11898     VARIANT onselect();
11899
11900     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11901     void defaultValue(BSTR v);
11902
11903     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
11904     BSTR defaultValue();
11905
11906     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11907     void readOnly(VARIANT_BOOL v);
11908
11909     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
11910     VARIANT_BOOL readOnly();
11911
11912     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
11913     IHTMLTxtRange *createTextRange();
11914
11915     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11916     void indeterminate(VARIANT_BOOL v);
11917
11918     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
11919     VARIANT_BOOL indeterminate();
11920
11921     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11922     void defaultChecked(VARIANT_BOOL v);
11923
11924     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
11925     VARIANT_BOOL defaultChecked();
11926
11927     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11928     void checked(VARIANT_BOOL v);
11929
11930     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
11931     VARIANT_BOOL checked();
11932
11933     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11934     void border(VARIANT v);
11935
11936     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
11937     VARIANT border();
11938
11939     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11940     void vspace(LONG v);
11941
11942     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
11943     LONG vspace();
11944
11945     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11946     void hspace(LONG v);
11947
11948     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
11949     LONG hspace();
11950
11951     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11952     void alt(BSTR v);
11953
11954     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
11955     BSTR alt();
11956
11957     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11958     void src(BSTR v);
11959
11960     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
11961     BSTR src();
11962
11963     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11964     void lowsrc(BSTR v);
11965
11966     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
11967     BSTR lowsrc();
11968
11969     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11970     void vrml(BSTR v);
11971
11972     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
11973     BSTR vrml();
11974
11975     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11976     void dynsrc(BSTR v);
11977
11978     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
11979     BSTR dynsrc();
11980
11981     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
11982     VARIANT_BOOL complete();
11983
11984     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11985     void loop(VARIANT v);
11986
11987     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
11988     VARIANT loop();
11989
11990     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11991     void align(BSTR v);
11992
11993     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
11994     BSTR align();
11995
11996     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
11997     void onload(VARIANT v);
11998
11999     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
12000     VARIANT onload();
12001
12002     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
12003     void onerror(VARIANT v);
12004
12005     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
12006     VARIANT onerror();
12007
12008     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
12009     void onabort(VARIANT v);
12010
12011     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
12012     VARIANT onabort();
12013
12014     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
12015     void width(LONG v);
12016
12017     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
12018     LONG width();
12019
12020     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
12021     void height(LONG v);
12022
12023     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
12024     LONG height();
12025
12026     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
12027     void start(BSTR v);
12028
12029     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
12030     BSTR start();
12031
12032     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
12033     void accept(BSTR v);
12034
12035     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
12036     BSTR accept();
12037
12038     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
12039     void useMap(BSTR v);
12040
12041     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
12042     BSTR useMap();
12043 }
12044
12045 /*****************************************************************************
12046  *    IHTMLTextAreaElement interface
12047  */
12048 [
12049     odl,
12050     oleautomation,
12051     dual,
12052     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
12053 ]
12054 interface IHTMLTextAreaElement : IDispatch
12055 {
12056     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
12057     HRESULT type([retval, out] BSTR *p);
12058
12059     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
12060     HRESULT value([in] BSTR v);
12061
12062     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
12063     HRESULT value([retval, out] BSTR *p);
12064
12065     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
12066     HRESULT name([in] BSTR v);
12067
12068     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
12069     HRESULT name([retval, out] BSTR *p);
12070
12071     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
12072     HRESULT status([in] VARIANT v);
12073
12074     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
12075     HRESULT status([retval, out] VARIANT *p);
12076
12077     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
12078     HRESULT disabled([in] VARIANT_BOOL v);
12079
12080     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
12081     HRESULT disabled([retval, out] VARIANT_BOOL *p);
12082
12083     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
12084     HRESULT form([retval, out] IHTMLFormElement **p);
12085
12086     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
12087     HRESULT defaultValue([in] BSTR v);
12088
12089     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
12090     HRESULT defaultValue([retval, out] BSTR *p);
12091
12092     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
12093     HRESULT select();
12094
12095     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
12096     HRESULT onchange([in] VARIANT v);
12097
12098     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
12099     HRESULT onchange([retval, out] VARIANT *p);
12100
12101     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
12102     HRESULT onselect([in] VARIANT v);
12103
12104     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
12105     HRESULT onselect([retval, out] VARIANT *p);
12106
12107     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
12108     HRESULT readOnly([in] VARIANT_BOOL v);
12109
12110     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
12111     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
12112
12113     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
12114     HRESULT rows([in] LONG v);
12115
12116     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
12117     HRESULT rows([retval, out] LONG *p);
12118
12119     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
12120     HRESULT cols([in] LONG v);
12121
12122     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
12123     HRESULT cols([retval, out] LONG *p);
12124
12125     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
12126     HRESULT wrap([in] BSTR v);
12127
12128     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
12129     HRESULT wrap([retval, out] BSTR *p);
12130
12131     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
12132     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
12133 }
12134
12135 /*****************************************************************************
12136  *    DispHTMLUnknownElement interface
12137  */
12138 [
12139     hidden,
12140     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
12141 ]
12142 dispinterface DispHTMLUnknownElement
12143 {
12144 properties:
12145 methods:
12146     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
12147     void setAttribute(
12148             [in] BSTR strAttributeName,
12149             [in] VARIANT AttributeValue,
12150             [in, defaultvalue(1)] LONG lFlags);
12151
12152     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
12153     VARIANT getAttribute(
12154              [in] BSTR strAttributeName,
12155              [in, defaultvalue(0)] LONG lFlags);
12156
12157     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
12158     VARIANT_BOOL removeAttribute(
12159             [in] BSTR strAttributeName,
12160             [in, defaultvalue(1)] LONG lFlags);
12161
12162     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
12163     void className(BSTR v);
12164
12165     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
12166     BSTR className();
12167
12168     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
12169     void id(BSTR v);
12170
12171     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
12172     BSTR id();
12173
12174     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
12175     BSTR tagName();
12176
12177     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
12178     IHTMLElement *parentElement();
12179
12180     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
12181     IHTMLStyle *style();
12182
12183     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
12184     void onhelp(VARIANT v);
12185
12186     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
12187     VARIANT onhelp();
12188
12189     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
12190     void onclick(VARIANT v);
12191
12192     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
12193     VARIANT onclick();
12194
12195     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
12196     void ondblclick(VARIANT v);
12197
12198     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
12199     VARIANT ondblclick();
12200
12201     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
12202     void onkeydown(VARIANT v);
12203
12204     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
12205     VARIANT onkeydown();
12206
12207     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
12208     void onkeyup(VARIANT v);
12209
12210     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
12211     VARIANT onkeyup();
12212
12213     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
12214     void onkeypress(VARIANT v);
12215
12216     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
12217     VARIANT onkeypress();
12218
12219     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
12220     void onmouseout(VARIANT v);
12221
12222     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
12223     VARIANT onmouseout();
12224
12225     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
12226     void onmouseover(VARIANT v);
12227
12228     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
12229     VARIANT onmouseover();
12230
12231     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
12232     void onmousemove(VARIANT v);
12233
12234     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
12235     VARIANT onmousemove();
12236
12237     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
12238     void onmousedown(VARIANT v);
12239
12240     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
12241     VARIANT onmousedown();
12242
12243     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
12244     void onmouseup(VARIANT v);
12245
12246     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
12247     VARIANT onmouseup();
12248
12249     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
12250     IDispatch *document();
12251
12252     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
12253     void title(BSTR v);
12254
12255     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
12256     BSTR title();
12257
12258     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
12259     void language(BSTR v);
12260
12261     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
12262     BSTR language();
12263
12264     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
12265     void onselectstart(VARIANT v);
12266
12267     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
12268     VARIANT onselectstart();
12269
12270     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
12271     void scrollIntoView([in, optional] VARIANT varargStart);
12272
12273     [id(DISPID_IHTMLELEMENT_CONTAINS)]
12274     VARIANT_BOOL contains([in] IHTMLElement *pChild);
12275
12276     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
12277     LONG sourceIndex();
12278
12279     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
12280     VARIANT recordNumber();
12281
12282     [propput, id(DISPID_IHTMLELEMENT_LANG)]
12283     void lang(BSTR v);
12284
12285     [propget, id(DISPID_IHTMLELEMENT_LANG)]
12286     BSTR lang();
12287
12288     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
12289     LONG offsetLeft();
12290
12291     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
12292     LONG offsetTop();
12293
12294     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
12295     LONG offsetWidth();
12296
12297     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
12298     LONG offsetHeight();
12299
12300     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
12301     IHTMLElement *offsetParent();
12302
12303     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
12304     void innerHTML(BSTR v);
12305
12306     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
12307     BSTR innerHTML();
12308
12309     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
12310     void innerText(BSTR v);
12311
12312     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
12313     BSTR innerText();
12314
12315     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
12316     void outerHTML(BSTR v);
12317
12318     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
12319     BSTR outerHTML();
12320
12321     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
12322     void outerText(BSTR v);
12323
12324     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
12325     BSTR outerText();
12326
12327     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
12328     void insertAdjacentHTML(
12329             [in] BSTR where,
12330             [in] BSTR html);
12331
12332     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
12333     void insertAdjacentText(
12334             [in] BSTR where,
12335             [in] BSTR text);
12336
12337     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
12338     IHTMLElement *parentTextEdit();
12339
12340     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
12341     VARIANT_BOOL isTextEdit();
12342
12343     [id(DISPID_IHTMLELEMENT_CLICK)]
12344     void click();
12345
12346     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
12347     IHTMLFiltersCollection *filters();
12348
12349     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
12350     void ondragstart(VARIANT v);
12351
12352     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
12353     VARIANT ondragstart();
12354
12355     [id(DISPID_IHTMLELEMENT_TOSTRING)]
12356     BSTR toString();
12357
12358     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
12359     void onbeforeupdate(VARIANT v);
12360
12361     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
12362     VARIANT onbeforeupdate();
12363
12364     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
12365     void onafterupdate(VARIANT v);
12366
12367     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
12368     VARIANT onafterupdate();
12369
12370     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
12371     void onerrorupdate(VARIANT v);
12372
12373     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
12374     VARIANT onerrorupdate();
12375
12376     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
12377     void onrowexit(VARIANT v);
12378
12379     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
12380     VARIANT onrowexit();
12381
12382     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
12383     void onrowenter(VARIANT v);
12384
12385     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
12386     VARIANT onrowenter();
12387
12388     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
12389     void ondatasetchanged(VARIANT v);
12390
12391     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
12392     VARIANT ondatasetchanged();
12393
12394     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
12395     void ondataavailable(VARIANT v);
12396
12397     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
12398     VARIANT ondataavailable();
12399
12400     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
12401     void ondatasetcomplete(VARIANT v);
12402
12403     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
12404     VARIANT ondatasetcomplete();
12405
12406     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12407     void onfilterchange(VARIANT v);
12408
12409     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
12410     VARIANT onfilterchange();
12411
12412     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
12413     IDispatch *children();
12414
12415     [propget, id(DISPID_IHTMLELEMENT_ALL)]
12416     IDispatch *all();
12417
12418     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
12419     BSTR scopeName();
12420
12421     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
12422     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
12423
12424     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
12425     void releaseCapture();
12426
12427     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12428     void onlosecapture(VARIANT v);
12429
12430     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
12431     VARIANT onlosecapture();
12432
12433     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
12434     BSTR componentFromPoint(
12435             [in] LONG x,
12436             [in] LONG y);
12437
12438     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
12439     void doScroll([in, optional] VARIANT component);
12440
12441     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12442     void onscroll(VARIANT v);
12443
12444     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
12445     VARIANT onscroll();
12446
12447     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12448     void ondrag(VARIANT v);
12449
12450     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
12451     VARIANT ondrag();
12452
12453     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12454     void ondragend(VARIANT v);
12455
12456     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
12457     VARIANT ondragend();
12458
12459     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12460     void ondragenter(VARIANT v);
12461
12462     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
12463     VARIANT ondragenter();
12464
12465     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12466     void ondragover(VARIANT v);
12467
12468     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
12469     VARIANT ondragover();
12470
12471     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12472     void ondragleave(VARIANT v);
12473
12474     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
12475     VARIANT ondragleave();
12476
12477     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12478     void ondrop(VARIANT v);
12479
12480     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
12481     VARIANT ondrop();
12482
12483     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12484     void onbeforecut(VARIANT v);
12485
12486     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
12487     VARIANT onbeforecut();
12488
12489     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12490     void oncut(VARIANT v);
12491
12492     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
12493     VARIANT oncut();
12494
12495     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12496     void onbeforecopy(VARIANT v);
12497
12498     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
12499     VARIANT onbeforecopy();
12500
12501     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12502     void oncopy(VARIANT v);
12503
12504     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
12505     VARIANT oncopy();
12506
12507     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12508     void onbeforepaste(VARIANT v);
12509
12510     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
12511     VARIANT onbeforepaste();
12512
12513     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12514     void onpaste(VARIANT v);
12515
12516     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
12517     VARIANT onpaste();
12518
12519     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
12520     IHTMLCurrentStyle *currentStyle();
12521
12522     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12523     void onpropertychange(VARIANT v);
12524
12525     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
12526     VARIANT onpropertychange();
12527
12528     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
12529     IHTMLRectCollection *getClientRects();
12530
12531     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
12532     IHTMLRect *getBoundingClientRect();
12533
12534     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
12535     void setExpression(
12536             [in] BSTR propname,
12537             [in] BSTR expression,
12538             [in, defaultvalue("")] BSTR language);
12539
12540     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
12541     VARIANT getExpression([in] BSTR propname);
12542
12543     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
12544     VARIANT_BOOL removeExpression([in] BSTR propname);
12545
12546     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12547     void tabIndex(short v);
12548
12549     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
12550     short tabIndex();
12551
12552     [id(DISPID_IHTMLELEMENT2_FOCUS)]
12553     void focus();
12554
12555     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12556     void accessKey(BSTR v);
12557
12558     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
12559     BSTR accessKey();
12560
12561     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12562     void onblur(VARIANT v);
12563
12564     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
12565     VARIANT onblur();
12566
12567     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12568     void onfocus(VARIANT v);
12569
12570     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
12571     VARIANT onfocus();
12572
12573     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12574     void onresize(VARIANT v);
12575
12576     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
12577     VARIANT onresize();
12578
12579     [id(DISPID_IHTMLELEMENT2_BLUR)]
12580     void blur();
12581
12582     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
12583     void addFilter([in] IUnknown *pUnk);
12584
12585     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
12586     void removeFilter([in] IUnknown *pUnk);
12587
12588     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
12589     LONG clientHeight();
12590
12591     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
12592     LONG clientWidth();
12593
12594     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
12595     LONG clientTop();
12596
12597     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
12598     LONG clientLeft();
12599
12600     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
12601     VARIANT_BOOL attachEvent(
12602             [in] BSTR event,
12603             [in] IDispatch *pDisp);
12604
12605     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
12606     void detachEvent(
12607             [in] BSTR event,
12608             [in] IDispatch *pDisp);
12609
12610     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
12611     VARIANT readyState();
12612
12613     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12614     void onreadystatechange(VARIANT v);
12615
12616     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12617     VARIANT onreadystatechange();
12618
12619     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12620     void onrowsdelete(VARIANT v);
12621
12622     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
12623     VARIANT onrowsdelete();
12624
12625     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12626     void onrowsinserted(VARIANT v);
12627
12628     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
12629      VARIANT onrowsinserted();
12630
12631     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12632      void oncellchange(VARIANT v);
12633
12634     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
12635     VARIANT oncellchange();
12636
12637     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12638     void dir(BSTR v);
12639
12640     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
12641     BSTR dir();
12642
12643     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
12644     IDispatch *createControlRange();
12645
12646     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
12647     LONG scrollHeight();
12648
12649     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
12650     LONG scrollWidth();
12651
12652     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12653     void scrollTop(LONG v);
12654
12655     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
12656     LONG scrollTop();
12657
12658     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
12659     void scrollLeft(LONG v);
12660
12661     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
12662     LONG scrollLeft();
12663
12664     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
12665     void clearAttributes();
12666
12667     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
12668     void oncontextmenu(VARIANT v);
12669
12670     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
12671     VARIANT oncontextmenu();
12672
12673     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
12674     IHTMLElement *insertAdjacentElement(
12675             [in] BSTR where,
12676             [in] IHTMLElement *insertedElement);
12677
12678     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
12679     IHTMLElement *applyElement(
12680             [in] IHTMLElement *apply,
12681             [in] BSTR where);
12682
12683     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
12684     BSTR getAdjacentText([in] BSTR where);
12685
12686     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
12687     BSTR replaceAdjacentText(
12688             [in] BSTR where,
12689             [in] BSTR newText);
12690
12691     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
12692     VARIANT_BOOL canHaveChildren();
12693
12694     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
12695     LONG addBehavior(
12696             [in] BSTR bstrUrl,
12697             [in, optional] VARIANT *pvarFactory);
12698
12699     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
12700     VARIANT_BOOL removeBehavior([in] LONG cookie);
12701
12702     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
12703     IHTMLStyle *runtimeStyle();
12704
12705     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
12706     IDispatch *behaviorUrns();
12707
12708     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
12709     void tagUrn(BSTR v);
12710
12711     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
12712     BSTR tagUrn();
12713
12714     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12715     void onbeforeeditfocus(VARIANT v);
12716
12717     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
12718     VARIANT onbeforeeditfocus();
12719
12720     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
12721     LONG readyStateValue();
12722
12723     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
12724     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
12725
12726     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
12727     void mergeAttributes(
12728             [in] IHTMLElement *mergeThis,
12729             [in, optional] VARIANT *pvarFlags);
12730
12731     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
12732     VARIANT_BOOL isMultiLine();
12733
12734     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
12735     VARIANT_BOOL canHaveHTML();
12736
12737     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12738     void onlayoutcomplete(VARIANT v);
12739
12740     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
12741     VARIANT onlayoutcomplete();
12742
12743     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12744     void onpage(VARIANT v);
12745
12746     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
12747     VARIANT onpage();
12748
12749     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12750     void inflateBlock(VARIANT_BOOL v);
12751
12752     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
12753     VARIANT_BOOL inflateBlock();
12754
12755     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12756     void onbeforedeactivate(VARIANT v);
12757
12758     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
12759     VARIANT onbeforedeactivate();
12760
12761     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
12762     void setActive();
12763
12764     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12765     void contentEditable(BSTR v);
12766
12767     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
12768     BSTR contentEditable();
12769
12770     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
12771     VARIANT_BOOL isContentEditable();
12772
12773     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12774     void hideFocus(VARIANT_BOOL v);
12775
12776     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
12777     VARIANT_BOOL hideFocus();
12778
12779     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12780     void disabled(VARIANT_BOOL v);
12781
12782     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
12783     VARIANT_BOOL disabled();
12784
12785     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
12786     VARIANT_BOOL isDisabled();
12787
12788     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12789     void onmove(VARIANT v);
12790
12791     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
12792     VARIANT onmove();
12793
12794     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12795     void oncontrolselect(VARIANT v);
12796
12797     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
12798     VARIANT oncontrolselect();
12799
12800     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
12801     VARIANT_BOOL fireEvent(
12802             [in] BSTR bstrEventName,
12803             [in, optional] VARIANT *pvarEventObject);
12804
12805     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12806     void onresizestart(VARIANT v);
12807
12808     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
12809     VARIANT onresizestart();
12810
12811     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12812     void onresizeend(VARIANT v);
12813
12814     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
12815     VARIANT onresizeend();
12816
12817     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12818     void onmovestart(VARIANT v);
12819
12820     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
12821     VARIANT onmovestart();
12822
12823     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12824     void onmoveend(VARIANT v);
12825
12826     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
12827     VARIANT onmoveend();
12828
12829     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12830     void onmouseenter(VARIANT v);
12831
12832     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
12833     VARIANT onmouseenter();
12834
12835     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12836     void onmouseleave(VARIANT v);
12837
12838     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
12839     VARIANT onmouseleave();
12840
12841     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12842     void onactivate(VARIANT v);
12843
12844     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
12845     VARIANT onactivate();
12846
12847     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12848     void ondeactivate(VARIANT v);
12849
12850     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
12851     VARIANT ondeactivate();
12852
12853     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
12854     VARIANT_BOOL dragDrop();
12855
12856     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
12857     LONG glyphMode();
12858
12859     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12860     void onmousewheel(VARIANT v);
12861
12862     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
12863     VARIANT onmousewheel();
12864
12865     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
12866     void normalize();
12867
12868     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
12869     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
12870
12871     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
12872     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
12873
12874     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
12875     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
12876
12877     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12878     void onbeforeactivate(VARIANT v);
12879
12880     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
12881     VARIANT onbeforeactivate();
12882
12883     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12884     void onfocusin(VARIANT v);
12885
12886     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
12887     VARIANT onfocusin();
12888
12889     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12890     void onfocusout(VARIANT v);
12891
12892     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
12893     VARIANT onfocusout();
12894
12895     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
12896     LONG uniqueNumber();
12897
12898     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
12899     BSTR uniqueID();
12900
12901     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
12902     LONG nodeType();
12903
12904     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
12905     IHTMLDOMNode *parentNode();
12906
12907     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
12908     VARIANT_BOOL hasChildNodes();
12909
12910     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
12911     IDispatch *childNodes();
12912
12913     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
12914     IDispatch *attributes();
12915
12916     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
12917     IHTMLDOMNode *insertBefore(
12918             [in] IHTMLDOMNode *newChild,
12919             [in, optional] VARIANT refChild);
12920
12921     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
12922     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
12923
12924     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
12925     IHTMLDOMNode *replaceChild(
12926             [in] IHTMLDOMNode *newChild,
12927             [in] IHTMLDOMNode *oldChild);
12928
12929     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
12930     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
12931
12932     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
12933     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
12934
12935     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
12936     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
12937
12938     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
12939     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
12940
12941     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
12942     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
12943
12944     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
12945     BSTR nodeName();
12946
12947     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12948     void nodeValue(VARIANT v);
12949
12950     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
12951     VARIANT nodeValue();
12952
12953     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
12954     IHTMLDOMNode *firstChild();
12955
12956     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
12957     IHTMLDOMNode *lastChild();
12958
12959     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
12960     IHTMLDOMNode *previousSibling();
12961
12962     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
12963     IHTMLDOMNode *nextSibling();
12964
12965     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
12966     IDispatch *ownerDocument();
12967 }
12968
12969 /*****************************************************************************
12970  *    IOmHistory interface
12971  */
12972 [
12973     odl,
12974     oleautomation,
12975     dual,
12976     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
12977 ]
12978 interface IOmHistory : IDispatch
12979 {
12980     [propget, id(DISPID_IOMHISTORY_LENGTH)]
12981     HRESULT length([retval, out] short *p);
12982
12983     [id(DISPID_IOMHISTORY_BACK)]
12984     HRESULT back([optional, in] VARIANT *pvargdistance);
12985
12986     [id(DISPID_IOMHISTORY_FORWARD)]
12987     HRESULT forward([optional, in] VARIANT *pvargdistance);
12988
12989     [id(DISPID_IOMHISTORY_GO)]
12990     HRESULT go([optional, in] VARIANT *pvargdistance);
12991 }
12992
12993 [
12994     noncreatable,
12995     uuid(FECEAAA3-8405-11cf-8BA1-00AA00476DA6)
12996 ]
12997 coclass HTMLHistory
12998 {
12999     [default]           interface IOmHistory;
13000 }
13001
13002 /*****************************************************************************
13003  *    IHTMLMimeTypesCollection interface
13004  */
13005 [
13006     odl,
13007     oleautomation,
13008     dual,
13009     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
13010 ]
13011 interface IHTMLMimeTypesCollection : IDispatch
13012 {
13013     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
13014     HRESULT length([retval, out] LONG *p);
13015 }
13016
13017 [
13018     noncreatable,
13019     uuid(3050f3fe-98b5-11cf-bb82-00aa00bdce0b)
13020 ]
13021 coclass CMimeTypes
13022 {
13023     [default]           interface IHTMLMimeTypesCollection;
13024 }
13025
13026 /*****************************************************************************
13027  *    IHTMLPluginsCollection interface
13028  */
13029 [
13030     odl,
13031     oleautomation,
13032     dual,
13033     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
13034 ]
13035 interface IHTMLPluginsCollection : IDispatch
13036 {
13037     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
13038     HRESULT length([retval, out] LONG *p);
13039
13040     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
13041     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
13042 }
13043
13044 [
13045     noncreatable,
13046     uuid(3050f3ff-98b5-11cf-bb82-00aa00bdce0b)
13047 ]
13048 coclass CPlugins
13049 {
13050     [default]           interface IHTMLPluginsCollection;
13051 }
13052
13053 /*****************************************************************************
13054  *    IHTMLOpsProfile interface
13055  */
13056 [
13057     odl,
13058     oleautomation,
13059     dual,
13060     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
13061 ]
13062 interface IHTMLOpsProfile : IDispatch
13063 {
13064     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
13065     HRESULT addRequest(
13066         [in] BSTR name,
13067         [optional, in] VARIANT reserved,
13068         [retval, out] VARIANT_BOOL *success);
13069
13070     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
13071     HRESULT clearRequest();
13072
13073     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
13074     HRESULT doRequest(
13075         [in] VARIANT usage,
13076         [optional, in] VARIANT fname,
13077         [optional, in] VARIANT domain,
13078         [optional, in] VARIANT path,
13079         [optional, in] VARIANT expire,
13080         [optional, in] VARIANT reserved);
13081
13082     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
13083     HRESULT getAttribute(
13084         [in] BSTR name,
13085         [retval, out] BSTR *value);
13086
13087     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
13088     HRESULT setAttribute(
13089         [in] BSTR name,
13090         [in] BSTR value,
13091         [optional, in] VARIANT prefs,
13092         [retval, out] VARIANT_BOOL *success);
13093
13094     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
13095     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
13096
13097     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
13098     HRESULT addReadRequest(
13099         [in] BSTR name,
13100         [optional, in] VARIANT reserved,
13101         [retval, out] VARIANT_BOOL *success);
13102
13103     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
13104     HRESULT doReadRequest(
13105         [in] VARIANT usage,
13106         [optional, in] VARIANT fname,
13107         [optional, in] VARIANT domain,
13108         [optional, in] VARIANT path,
13109         [optional, in] VARIANT expire,
13110         [optional, in] VARIANT reserved);
13111
13112     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
13113     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
13114 }
13115
13116 [
13117     noncreatable,
13118     uuid(3050f402-98b5-11cf-bb82-00aa00bdce0b)
13119 ]
13120 coclass COpsProfile
13121 {
13122     [default]           interface IHTMLOpsProfile;
13123 }
13124
13125 /*****************************************************************************
13126  *    IOmNavigator interface
13127  */
13128 [
13129         odl,
13130         oleautomation,
13131         dual,
13132         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
13133 ]
13134 interface IOmNavigator : IDispatch
13135 {
13136     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
13137     HRESULT appCodeName([retval, out] BSTR *p);
13138
13139     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
13140     HRESULT appName([retval, out] BSTR *p);
13141
13142     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
13143     HRESULT appVersion([retval, out] BSTR *p);
13144
13145     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
13146     HRESULT userAgent([retval, out] BSTR *p);
13147
13148     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
13149     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
13150
13151     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
13152     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
13153
13154     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
13155     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
13156
13157     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
13158     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
13159
13160     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
13161     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
13162
13163     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
13164     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
13165
13166     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
13167     HRESULT toString([retval, out] BSTR *String);
13168
13169     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
13170     HRESULT cpuClass([retval, out] BSTR *p);
13171
13172     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
13173     HRESULT systemLanguage([retval, out] BSTR *p);
13174
13175     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
13176     HRESULT browserLanguage([retval, out] BSTR *p);
13177
13178     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
13179     HRESULT userLanguage([retval, out] BSTR *p);
13180
13181     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
13182     HRESULT platform([retval, out] BSTR *p);
13183
13184     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
13185     HRESULT appMinorVersion([retval, out] BSTR *p);
13186
13187     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
13188     HRESULT connectionSpeed([retval, out] LONG *p);
13189
13190     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
13191     HRESULT onLine([retval, out] VARIANT_BOOL *p);
13192
13193     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
13194     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
13195 }
13196
13197 /*****************************************************************************
13198  *    DispHTMLNavigator dispinterface
13199  */
13200 [
13201     hidden,
13202     uuid(3050f54c-98b5-11cf-bb82-00aa00bdce0b)
13203 ]
13204 dispinterface DispHTMLNavigator
13205 {
13206 properties:
13207 methods:
13208     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
13209     BSTR appCodeName();
13210
13211     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
13212     BSTR appName();
13213
13214     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
13215     BSTR appVersion();
13216
13217     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
13218     BSTR userAgent();
13219
13220     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
13221     VARIANT_BOOL javaEnabled();
13222
13223     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
13224     VARIANT_BOOL taintEnabled();
13225
13226     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
13227     IHTMLMimeTypesCollection *mimeTypes();
13228
13229     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
13230     IHTMLPluginsCollection *plugins();
13231
13232     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
13233     VARIANT_BOOL cookieEnabled();
13234
13235     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
13236     IHTMLOpsProfile *opsProfile();
13237
13238     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
13239     BSTR toString();
13240
13241     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
13242     BSTR cpuClass();
13243
13244     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
13245     BSTR systemLanguage();
13246
13247     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE), hidden]
13248     BSTR browserLanguage();
13249
13250     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
13251     BSTR userLanguage();
13252
13253     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
13254     BSTR platform();
13255
13256     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
13257     BSTR appMinorVersion();
13258
13259     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED), hidden]
13260     LONG connectionSpeed();
13261
13262     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
13263     VARIANT_BOOL onLine();
13264
13265     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
13266     IHTMLOpsProfile *userProfile();
13267
13268     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
13269     IDispatch *constructor();
13270 }
13271
13272 [
13273     noncreatable,
13274     uuid(FECEAAA6-8405-11cf-8BA1-00AA00476DA6)
13275 ]
13276 coclass HTMLNavigator
13277 {
13278     [default]  dispinterface DispHTMLNavigator;
13279                interface IOmNavigator;
13280 }
13281
13282 /*****************************************************************************
13283  *    IHTMLLocation interface
13284  */
13285 [
13286     odl,
13287     oleautomation,
13288     dual,
13289     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
13290 ]
13291 interface IHTMLLocation : IDispatch
13292 {
13293     [propput, id(DISPID_IHTMLLOCATION_HREF)]
13294     HRESULT href([in] BSTR v);
13295
13296     [propget, id(DISPID_IHTMLLOCATION_HREF)]
13297     HRESULT href([retval, out] BSTR *p);
13298
13299     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
13300     HRESULT protocol([in] BSTR v);
13301
13302     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
13303     HRESULT protocol([retval, out] BSTR *p);
13304
13305     [propput, id(DISPID_IHTMLLOCATION_HOST)]
13306     HRESULT host([in] BSTR v);
13307
13308     [propget, id(DISPID_IHTMLLOCATION_HOST)]
13309     HRESULT host([retval, out] BSTR *p);
13310
13311     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
13312     HRESULT hostname([in] BSTR v);
13313
13314     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
13315     HRESULT hostname([retval, out] BSTR *p);
13316
13317     [propput, id(DISPID_IHTMLLOCATION_PORT)]
13318     HRESULT port([in] BSTR v);
13319
13320     [propget, id(DISPID_IHTMLLOCATION_PORT)]
13321     HRESULT port([retval, out] BSTR *p);
13322
13323     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
13324     HRESULT pathname([in] BSTR v);
13325
13326     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
13327     HRESULT pathname([retval, out] BSTR *p);
13328
13329     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
13330     HRESULT search([in] BSTR v);
13331
13332     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
13333     HRESULT search([retval, out] BSTR *p);
13334
13335     [propput, id(DISPID_IHTMLLOCATION_HASH)]
13336     HRESULT hash([in] BSTR v);
13337
13338     [propget, id(DISPID_IHTMLLOCATION_HASH)]
13339     HRESULT hash([retval, out] BSTR *p);
13340
13341     [id(DISPID_IHTMLLOCATION_RELOAD)]
13342     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
13343
13344     [id(DISPID_IHTMLLOCATION_REPLACE)]
13345     HRESULT replace([in] BSTR bstr);
13346
13347     [id(DISPID_IHTMLLOCATION_ASSIGN)]
13348     HRESULT assign([in] BSTR bstr);
13349
13350     [id(DISPID_IHTMLLOCATION_TOSTRING)]
13351     HRESULT toString([retval, out] BSTR *String);
13352 }
13353
13354 /*****************************************************************************
13355  *    DispHTMLLocation dispinterface
13356  */
13357 [
13358     hidden,
13359     uuid(3050f54e-98b5-11cf-bb82-00aa00bdce0b)
13360 ]
13361 dispinterface DispHTMLLocation
13362 {
13363 properties:
13364 methods:
13365     [propput, id(DISPID_IHTMLLOCATION_HREF)]
13366     void href(BSTR v);
13367
13368     [propget, id(DISPID_IHTMLLOCATION_HREF)]
13369     BSTR href();
13370
13371     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
13372     void protocol(BSTR v);
13373
13374     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
13375     BSTR protocol();
13376
13377     [propput, id(DISPID_IHTMLLOCATION_HOST)]
13378     void host(BSTR v);
13379
13380     [propget, id(DISPID_IHTMLLOCATION_HOST)]
13381     BSTR host();
13382
13383     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
13384     void hostname(BSTR v);
13385
13386     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
13387     BSTR hostname();
13388
13389     [propput, id(DISPID_IHTMLLOCATION_PORT)]
13390     void port(BSTR v);
13391
13392     [propget, id(DISPID_IHTMLLOCATION_PORT)]
13393     BSTR port();
13394
13395     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
13396     void pathname(BSTR v);
13397
13398     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
13399     BSTR pathname();
13400
13401     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
13402     void search(BSTR v);
13403
13404     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
13405     BSTR search();
13406
13407     [propput, id(DISPID_IHTMLLOCATION_HASH)]
13408     void hash(BSTR v);
13409
13410     [propget, id(DISPID_IHTMLLOCATION_HASH)]
13411     BSTR hash();
13412
13413     [id(DISPID_IHTMLLOCATION_RELOAD)]
13414     void reload([in, defaultvalue(0)] VARIANT_BOOL flag);
13415
13416     [id(DISPID_IHTMLLOCATION_REPLACE)]
13417     void replace([in] BSTR bstr);
13418
13419     [id(DISPID_IHTMLLOCATION_ASSIGN)]
13420     void assign([in] BSTR bstr);
13421
13422     [id(DISPID_IHTMLLOCATION_TOSTRING)]
13423     BSTR toString();
13424
13425     [propget, id(DISPID_IHTMLDOMCONSTRUCTOR_CONSTRUCTOR), hidden]
13426     IDispatch *constructor();
13427 }
13428
13429 [
13430     noncreatable,
13431     uuid(163BB1E1-6E00-11cf-837A-48DC04C10000)
13432 ]
13433 coclass HTMLLocation
13434 {
13435     [default]  dispinterface DispHTMLLocation;
13436                interface IHTMLLocation;
13437 }
13438
13439 [
13440     odl,
13441     oleautomation,
13442     dual,
13443     uuid(3050f4ce-98b5-11cf-bb82-00aa00bdce0b)
13444 ]
13445 interface IHTMLBookmarkCollection : IDispatch
13446 {
13447     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION_LENGTH), hidden]
13448     HRESULT length([out, retval] LONG *p);
13449
13450     [propget, id(DISPID_IHTMLBOOKMARKCOLLECTION__NEWENUM), hidden, restricted]
13451     HRESULT _newEnum([out, retval] IUnknown **p);
13452
13453     [id(DISPID_IHTMLBOOKMARKCOLLECTION_ITEM)]
13454     HRESULT item(
13455             [in] LONG index,
13456             [out, retval] VARIANT *pVarBookmark);
13457 }
13458
13459 /*****************************************************************************
13460  *    IHTMLDataTransfer interface
13461  */
13462 [
13463     odl,
13464     oleautomation,
13465     dual,
13466     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
13467 ]
13468 interface IHTMLDataTransfer : IDispatch
13469 {
13470     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
13471     HRESULT setData(
13472             [in] BSTR format,
13473             [in] VARIANT *data,
13474             [out, retval] VARIANT_BOOL *pret);
13475
13476     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
13477     HRESULT getData(
13478             [in] BSTR format,
13479             [out, retval] VARIANT *pvarRet);
13480
13481     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
13482     HRESULT clearData(
13483             [in] BSTR format,
13484             [out, retval] VARIANT_BOOL *pret);
13485
13486     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
13487     HRESULT dropEffect([in] BSTR v);
13488
13489     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
13490     HRESULT dropEffect([out, retval] BSTR *p);
13491
13492     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
13493     HRESULT effectAllowed([in] BSTR v);
13494
13495     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
13496     HRESULT effectAllowed([out, retval] BSTR *p);
13497 }
13498
13499 /*****************************************************************************
13500  *    IHTMLEventObj interface
13501  */
13502 [
13503     odl,
13504     oleautomation,
13505     dual,
13506     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
13507 ]
13508 interface IHTMLEventObj : IDispatch
13509 {
13510     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
13511     HRESULT srcElement([retval, out] IHTMLElement **p);
13512
13513     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
13514     HRESULT altKey([retval, out] VARIANT_BOOL *p);
13515
13516     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
13517     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
13518
13519     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
13520     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
13521
13522     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13523     HRESULT returnValue([in] VARIANT v);
13524
13525     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13526     HRESULT returnValue([retval, out] VARIANT *p);
13527
13528     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13529     HRESULT cancelBubble([in] VARIANT_BOOL v);
13530
13531     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13532     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
13533
13534     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
13535     HRESULT fromElement([retval, out] IHTMLElement **p);
13536
13537     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
13538     HRESULT toElement([retval, out] IHTMLElement **p);
13539
13540     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13541     HRESULT keyCode([in] LONG v);
13542
13543     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13544     HRESULT keyCode([retval, out] LONG *p);
13545
13546     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
13547     HRESULT button([retval, out] LONG *p);
13548
13549     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
13550     HRESULT type([retval, out] BSTR *p);
13551
13552     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
13553     HRESULT qualifier([retval, out] BSTR *p);
13554
13555     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
13556     HRESULT reason([retval, out] LONG *p);
13557
13558     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
13559     HRESULT x([retval, out] LONG *p);
13560
13561     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
13562     HRESULT y([retval, out] LONG *p);
13563
13564     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
13565     HRESULT clientX([retval, out] LONG *p);
13566
13567     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
13568     HRESULT clientY([retval, out] LONG *p);
13569
13570     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
13571     HRESULT offsetX([retval, out] LONG *p);
13572
13573     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
13574     HRESULT offsetY([retval, out] LONG *p);
13575
13576     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
13577     HRESULT screenX([retval, out] LONG *p);
13578
13579     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
13580     HRESULT screenY([retval, out] LONG *p);
13581
13582     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
13583     HRESULT srcFilter([retval, out] IDispatch **p);
13584 }
13585
13586 /*****************************************************************************
13587  *    DispCEventObj dispinterface
13588  */
13589 [
13590     hidden,
13591     uuid(3050f558-98b5-11cf-bb82-00aa00bdce0b)
13592 ]
13593 dispinterface DispCEventObj
13594 {
13595 properties:
13596 methods:
13597     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13598     void returnValue(VARIANT v);
13599
13600     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
13601     VARIANT returnValue();
13602
13603     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13604     void cancelBubble(VARIANT_BOOL v);
13605
13606     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
13607     VARIANT_BOOL cancelBubble();
13608
13609     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13610     void keyCode(LONG v);
13611
13612     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
13613     LONG keyCode();
13614
13615     [id(DISPID_IHTMLEVENTOBJ2_SETATTRIBUTE)]
13616     void setAttribute(
13617             [in] BSTR strAttributeName,
13618             [in] VARIANT AttributeValue,
13619             [in, defaultvalue(1)] LONG lFlags);
13620
13621     [id(DISPID_IHTMLEVENTOBJ2_GETATTRIBUTE)]
13622     VARIANT getAttribute(
13623             [in] BSTR strAttributeName,
13624             [in, defaultvalue(0)] LONG lFlags);
13625
13626     [id(DISPID_IHTMLEVENTOBJ2_REMOVEATTRIBUTE)]
13627     VARIANT_BOOL removeAttribute(
13628             [in] BSTR strAttributeName,
13629             [in, defaultvalue(1)] LONG lFlags);
13630
13631     [propput, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
13632     void propertyName(BSTR v);
13633
13634     [propget, id(DISPID_IHTMLEVENTOBJ2_PROPERTYNAME)]
13635     BSTR propertyName();
13636
13637     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
13638     void bookmarks(IHTMLBookmarkCollection *v);
13639
13640     [propget, id(DISPID_IHTMLEVENTOBJ2_BOOKMARKS)]
13641     IHTMLBookmarkCollection *bookmarks();
13642
13643     [propputref, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
13644     void recordset(IDispatch *v);
13645
13646     [propget, id(DISPID_IHTMLEVENTOBJ2_RECORDSET)]
13647     IDispatch *recordset();
13648
13649     [propput, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
13650     void dataFld(BSTR v);
13651
13652     [propget, id(DISPID_IHTMLEVENTOBJ2_DATAFLD)]
13653     BSTR dataFld();
13654
13655     [propputref, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
13656     void boundElements(IHTMLElementCollection *v);
13657
13658     [propget, id(DISPID_IHTMLEVENTOBJ2_BOUNDELEMENTS)]
13659     IHTMLElementCollection *boundElements();
13660
13661     [propput, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
13662     void repeat(VARIANT_BOOL v);
13663
13664     [propget, id(DISPID_IHTMLEVENTOBJ2_REPEAT)]
13665     VARIANT_BOOL repeat();
13666
13667     [propput, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
13668     void srcUrn(BSTR v);
13669
13670     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCURN)]
13671     BSTR srcUrn();
13672
13673     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
13674     void srcElement(IHTMLElement *v);
13675
13676     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCELEMENT)]
13677     IHTMLElement *srcElement();
13678
13679     [propput, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
13680     void altKey(VARIANT_BOOL v);
13681
13682     [propget, id(DISPID_IHTMLEVENTOBJ2_ALTKEY)]
13683     VARIANT_BOOL altKey();
13684
13685     [propput, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
13686     void ctrlKey(VARIANT_BOOL v);
13687
13688     [propget, id(DISPID_IHTMLEVENTOBJ2_CTRLKEY)]
13689     VARIANT_BOOL ctrlKey();
13690
13691     [propput, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
13692     void shiftKey(VARIANT_BOOL v);
13693
13694     [propget, id(DISPID_IHTMLEVENTOBJ2_SHIFTKEY)]
13695     VARIANT_BOOL shiftKey();
13696
13697     [propputref, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
13698     void fromElement(IHTMLElement *v);
13699
13700     [propget, id(DISPID_IHTMLEVENTOBJ2_FROMELEMENT)]
13701     IHTMLElement *fromElement();
13702
13703     [propputref, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
13704     void toElement(IHTMLElement *v);
13705
13706     [propget, id(DISPID_IHTMLEVENTOBJ2_TOELEMENT)]
13707     IHTMLElement *toElement();
13708
13709     [propput, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
13710     void button(LONG v);
13711
13712     [propget, id(DISPID_IHTMLEVENTOBJ2_BUTTON)]
13713     LONG button();
13714
13715     [propput, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
13716     void type(BSTR v);
13717
13718     [propget, id(DISPID_IHTMLEVENTOBJ2_TYPE)]
13719     BSTR type();
13720
13721     [propput, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
13722     void qualifier(BSTR v);
13723
13724     [propget, id(DISPID_IHTMLEVENTOBJ2_QUALIFIER)]
13725     BSTR qualifier();
13726
13727     [propput, id(DISPID_IHTMLEVENTOBJ2_REASON)]
13728     void reason(LONG v);
13729
13730     [propget, id(DISPID_IHTMLEVENTOBJ2_REASON)]
13731     LONG reason();
13732
13733     [propput, id(DISPID_IHTMLEVENTOBJ2_X)]
13734     void x(LONG v);
13735
13736     [propget, id(DISPID_IHTMLEVENTOBJ2_X)]
13737     LONG x();
13738
13739     [propput, id(DISPID_IHTMLEVENTOBJ2_Y)]
13740     void y(LONG v);
13741
13742     [propget, id(DISPID_IHTMLEVENTOBJ2_Y)]
13743     LONG y();
13744
13745     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
13746     void clientX(LONG v);
13747
13748     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTX)]
13749     LONG clientX();
13750
13751     [propput, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
13752     void clientY(LONG v);
13753
13754     [propget, id(DISPID_IHTMLEVENTOBJ2_CLIENTY)]
13755     LONG clientY();
13756     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
13757     void offsetX(LONG v);
13758
13759     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETX)]
13760     LONG offsetX();
13761
13762     [propput, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
13763     void offsetY(LONG v);
13764
13765     [propget, id(DISPID_IHTMLEVENTOBJ2_OFFSETY)]
13766     LONG offsetY();
13767
13768     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
13769     void screenX(LONG v);
13770
13771     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENX)]
13772     LONG screenX();
13773
13774     [propput, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
13775     void screenY(LONG v);
13776
13777     [propget, id(DISPID_IHTMLEVENTOBJ2_SCREENY)]
13778     LONG screenY();
13779
13780     [propputref, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
13781     void srcFilter(IDispatch *v);
13782
13783     [propget, id(DISPID_IHTMLEVENTOBJ2_SRCFILTER)]
13784     IDispatch *srcFilter();
13785
13786     [propget, id(DISPID_IHTMLEVENTOBJ2_DATATRANSFER)]
13787     IHTMLDataTransfer *dataTransfer();
13788
13789     [propget, id(DISPID_IHTMLEVENTOBJ3_CONTENTOVERFLOW)]
13790     VARIANT_BOOL contentOverflow();
13791
13792     [propput, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
13793     void shiftLeft(VARIANT_BOOL v);
13794
13795     [propget, id(DISPID_IHTMLEVENTOBJ3_SHIFTLEFT)]
13796     VARIANT_BOOL shiftLeft();
13797
13798     [propput, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
13799     void altLeft(VARIANT_BOOL v);
13800
13801     [propget, id(DISPID_IHTMLEVENTOBJ3_ALTLEFT)]
13802     VARIANT_BOOL altLeft();
13803
13804     [propput, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
13805     void ctrlLeft(VARIANT_BOOL v);
13806
13807     [propget, id(DISPID_IHTMLEVENTOBJ3_CTRLLEFT)]
13808     VARIANT_BOOL ctrlLeft();
13809
13810     [propget, id(DISPID_IHTMLEVENTOBJ3_IMECOMPOSITIONCHANGE), hidden, restricted, nonbrowsable]
13811     LONG_PTR imeCompositionChange();
13812
13813     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYCOMMAND), hidden, restricted, nonbrowsable]
13814     LONG_PTR imeNotifyCommand();
13815
13816     [propget, id(DISPID_IHTMLEVENTOBJ3_IMENOTIFYDATA), hidden, restricted, nonbrowsable]
13817     LONG_PTR imeNotifyData();
13818
13819     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUEST), hidden, restricted, nonbrowsable]
13820     LONG_PTR imeRequest();
13821
13822     [propget, id(DISPID_IHTMLEVENTOBJ3_IMEREQUESTDATA), hidden, restricted, nonbrowsable]
13823     LONG_PTR imeRequestData();
13824
13825     [propget, id(DISPID_IHTMLEVENTOBJ3_KEYBOARDLAYOUT), hidden, restricted, nonbrowsable]
13826     LONG_PTR keyboardLayout();
13827
13828     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORCOOKIE)]
13829     LONG behaviorCookie();
13830
13831     [propget, id(DISPID_IHTMLEVENTOBJ3_BEHAVIORPART)]
13832     LONG behaviorPart();
13833
13834     [propget, id(DISPID_IHTMLEVENTOBJ3_NEXTPAGE)]
13835     BSTR nextPage();
13836
13837     [propget, id(DISPID_IHTMLEVENTOBJ4_WHEELDELTA)]
13838     LONG wheelDelta();
13839 }
13840
13841 /*****************************************************************************
13842  *    IHTMLFramesCollection2 interface
13843  */
13844 [
13845     odl,
13846     oleautomation,
13847     dual,
13848     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
13849 ]
13850 interface IHTMLFramesCollection2 : IDispatch
13851 {
13852     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
13853     HRESULT item(
13854         [in] VARIANT *pvarIndex,
13855         [retval, out] VARIANT *pvarResult);
13856
13857     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
13858     HRESULT length([retval, out] LONG *p);
13859 }
13860
13861 /*****************************************************************************
13862  *    IHTMLScreen interface
13863  */
13864 [
13865     odl,
13866     oleautomation,
13867     dual,
13868     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
13869 ]
13870 interface IHTMLScreen : IDispatch
13871 {
13872     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
13873     HRESULT colorDepth([retval, out] LONG *p);
13874
13875     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
13876     HRESULT bufferDepth([in] LONG v);
13877
13878     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
13879     HRESULT bufferDepth([retval, out] LONG *p);
13880
13881     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
13882     HRESULT width([retval, out] LONG *p);
13883
13884     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
13885     HRESULT height([retval, out] LONG *p);
13886
13887     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13888     HRESULT updateInterval([in] LONG v);
13889
13890     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
13891     HRESULT updateInterval([retval, out] LONG *p);
13892
13893     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
13894     HRESULT availHeight([retval, out] LONG *p);
13895
13896     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
13897     HRESULT availWidth([retval, out] LONG *p);
13898
13899     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
13900     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
13901 }
13902
13903 /*****************************************************************************
13904  *    IHTMLWindow2 interface
13905  */
13906 [
13907     odl,
13908     oleautomation,
13909     dual,
13910     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
13911 ]
13912 interface IHTMLWindow2 : IHTMLFramesCollection2
13913 {
13914     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
13915     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
13916
13917     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13918     HRESULT defaultStatus([in] BSTR v);
13919
13920     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
13921     HRESULT defaultStatus([retval, out] BSTR *p);
13922
13923     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
13924     HRESULT status([in] BSTR v);
13925
13926     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
13927     HRESULT status([retval, out] BSTR *p);
13928
13929     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
13930     HRESULT setTimeout(
13931         [in] BSTR expression,
13932         [in] LONG msec,
13933         [optional, in] VARIANT *language,
13934         [retval, out] LONG *timerID);
13935
13936     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
13937     HRESULT clearTimeout([in] LONG timerID);
13938
13939     [id(DISPID_IHTMLWINDOW2_ALERT)]
13940     HRESULT alert([defaultvalue(""), in] BSTR message);
13941
13942     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
13943     HRESULT confirm(
13944         [defaultvalue(""), in] BSTR message,
13945         [retval, out] VARIANT_BOOL *confirmed);
13946
13947     [id(DISPID_IHTMLWINDOW2_PROMPT)]
13948     HRESULT prompt(
13949         [defaultvalue(""), in] BSTR message,
13950         [defaultvalue("undefined"), in] BSTR defstr,
13951         [retval, out] VARIANT *textdata);
13952
13953     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
13954     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
13955
13956     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
13957     HRESULT location([retval, out] IHTMLLocation **p);
13958
13959     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
13960     HRESULT history([retval, out] IOmHistory **p);
13961
13962     [id(DISPID_IHTMLWINDOW2_CLOSE)]
13963     HRESULT close();
13964
13965     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
13966     HRESULT opener([in] VARIANT v);
13967
13968     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
13969     HRESULT opener([retval, out] VARIANT *p);
13970
13971     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
13972     HRESULT navigator([retval, out] IOmNavigator **p);
13973
13974     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
13975     HRESULT name([in] BSTR v);
13976
13977     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
13978     HRESULT name([retval, out] BSTR *p);
13979
13980     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
13981     HRESULT parent([retval, out] IHTMLWindow2 **p);
13982
13983     [id(DISPID_IHTMLWINDOW2_OPEN)]
13984     HRESULT open(
13985         [defaultvalue(""), in] BSTR url,
13986         [defaultvalue(""), in] BSTR name,
13987         [defaultvalue(""), in] BSTR features,
13988         [defaultvalue(0), in] VARIANT_BOOL replace,
13989         [retval, out] IHTMLWindow2 **pomWindowResult);
13990
13991     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
13992     HRESULT self([retval, out] IHTMLWindow2 **p);
13993
13994     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
13995     HRESULT top([retval, out] IHTMLWindow2 **p);
13996
13997     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
13998     HRESULT window([retval, out] IHTMLWindow2 **p);
13999
14000     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
14001     HRESULT navigate([in] BSTR url);
14002
14003     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
14004     HRESULT onfocus([in] VARIANT v);
14005
14006     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
14007     HRESULT onfocus([retval, out] VARIANT *p);
14008
14009     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
14010     HRESULT onblur([in] VARIANT v);
14011
14012     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
14013     HRESULT onblur([retval, out] VARIANT *p);
14014
14015     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
14016     HRESULT onload([in] VARIANT v);
14017
14018     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
14019     HRESULT onload([retval, out] VARIANT *p);
14020
14021     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
14022     HRESULT onbeforeunload([in] VARIANT v);
14023
14024     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
14025     HRESULT onbeforeunload([retval, out] VARIANT *p);
14026
14027     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
14028     HRESULT onunload([in] VARIANT v);
14029
14030     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
14031     HRESULT onunload([retval, out] VARIANT *p);
14032
14033     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
14034     HRESULT onhelp([in] VARIANT v);
14035
14036     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
14037     HRESULT onhelp([retval, out] VARIANT *p);
14038
14039     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
14040     HRESULT onerror([in] VARIANT v);
14041
14042     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
14043     HRESULT onerror([retval, out] VARIANT *p);
14044
14045     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
14046     HRESULT onresize([in] VARIANT v);
14047
14048     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
14049     HRESULT onresize([retval, out] VARIANT *p);
14050
14051     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
14052     HRESULT onscroll([in] VARIANT v);
14053
14054     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
14055     HRESULT onscroll([retval, out] VARIANT *p);
14056
14057     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
14058     HRESULT document([retval, out] IHTMLDocument2 **p);
14059
14060     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
14061     HRESULT event([retval, out] IHTMLEventObj **p);
14062
14063     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
14064     HRESULT _newEnum([retval, out] IUnknown **p);
14065
14066     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
14067     HRESULT showModalDialog(
14068         [in] BSTR dialog,
14069         [optional, in] VARIANT *varArgIn,
14070         [optional, in] VARIANT *varOptions,
14071         [retval, out] VARIANT *varArgOut);
14072
14073     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
14074     HRESULT showHelp(
14075         [in] BSTR helpURL,
14076         [optional, in] VARIANT helpArg,
14077         [defaultvalue(""), in] BSTR features);
14078
14079     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
14080     HRESULT screen([retval, out] IHTMLScreen **p);
14081
14082     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
14083     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
14084
14085     [id(DISPID_IHTMLWINDOW2_FOCUS)]
14086     HRESULT focus();
14087
14088     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
14089     HRESULT closed([retval, out] VARIANT_BOOL *p);
14090
14091     [id(DISPID_IHTMLWINDOW2_BLUR)]
14092     HRESULT blur();
14093
14094     [id(DISPID_IHTMLWINDOW2_SCROLL)]
14095     HRESULT scroll([in] LONG x, [in] LONG y);
14096
14097     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
14098     HRESULT clientInformation([retval, out] IOmNavigator **p);
14099
14100     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
14101     HRESULT setInterval([
14102         in] BSTR expression,
14103         [in] LONG msec,
14104         [optional, in] VARIANT *language,
14105         [retval, out] LONG *timerID);
14106
14107     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
14108     HRESULT clearInterval([in] LONG timerID);
14109
14110     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14111     HRESULT offscreenBuffering([in] VARIANT v);
14112
14113     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14114     HRESULT offscreenBuffering([retval, out] VARIANT *p);
14115
14116     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
14117     HRESULT execScript(
14118         [in] BSTR scode,
14119         [defaultvalue("JScript"), in] BSTR language,
14120         [retval, out] VARIANT *pvarRet);
14121
14122     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
14123     HRESULT toString([retval, out] BSTR *String);
14124
14125     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
14126     HRESULT scrollBy([in] LONG x, [in] LONG y);
14127
14128     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
14129     HRESULT scrollTo([in] LONG x, [in] LONG y);
14130
14131     [id(DISPID_IHTMLWINDOW2_MOVETO)]
14132     HRESULT moveTo([in] LONG x, [in] LONG y);
14133
14134     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
14135     HRESULT moveBy([in] LONG x, [in] LONG y);
14136
14137     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
14138     HRESULT resizeTo([in] LONG x, [in] LONG y);
14139
14140     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
14141     HRESULT resizeBy([in] LONG x, [in] LONG y);
14142
14143     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
14144     HRESULT external([retval, out] IDispatch **p);
14145 }
14146
14147 /*****************************************************************************
14148  *    IHTMLWindow3 interface
14149  */
14150 [
14151     odl,
14152     oleautomation,
14153     dual,
14154     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
14155 ]
14156 interface IHTMLWindow3 : IDispatch
14157 {
14158     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
14159     HRESULT screenLeft([out, retval] LONG *p);
14160
14161     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
14162     HRESULT screenTop([out, retval] LONG *p);
14163
14164     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
14165     HRESULT attachEvent(
14166             [in] BSTR event,
14167             [in] IDispatch *pDisp,
14168             [out, retval] VARIANT_BOOL *pfResult);
14169
14170     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
14171     HRESULT detachEvent(
14172             [in] BSTR event,
14173             [in] IDispatch *pDisp);
14174
14175     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
14176     HRESULT setTimeout(
14177             [in] VARIANT *expression,
14178             [in] LONG msec,
14179             [in, optional] VARIANT *language,
14180             [out, retval] LONG *timerID);
14181
14182     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
14183     HRESULT setInterval(
14184             [in] VARIANT *expression,
14185             [in] LONG msec,
14186             [in, optional] VARIANT *language,
14187             [out, retval] LONG *timerID);
14188
14189     [id(DISPID_IHTMLWINDOW3_PRINT)]
14190     HRESULT print();
14191
14192     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14193     HRESULT onbeforeprint([in] VARIANT v);
14194
14195     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14196     HRESULT onbeforeprint([out, retval] VARIANT *p);
14197
14198     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14199     HRESULT onafterprint([in] VARIANT v);
14200
14201     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14202     HRESULT onafterprint([out, retval] VARIANT *p);
14203
14204     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
14205     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
14206
14207     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
14208     HRESULT showModelessDialog(
14209             [in, defaultvalue("")] BSTR url,
14210             [in, optional] VARIANT *varArgIn,
14211             [in, optional] VARIANT *options,
14212             [out, retval] IHTMLWindow2 **pDialog);
14213 }
14214
14215 /*****************************************************************************
14216  *    IHTMLWindow4 interface
14217  */
14218 [
14219     odl,
14220     oleautomation,
14221     dual,
14222     uuid(3050f6cf-98b5-11cf-bb82-00aa00bdce0b)
14223 ]
14224 interface IHTMLWindow4 : IDispatch
14225 {
14226     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
14227     HRESULT createPopup([optional, in] VARIANT* varArgIn,
14228                         [retval, out] IDispatch** ppPopup);
14229
14230     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
14231     HRESULT frameElement([retval, out] IHTMLFrameBase* * p);
14232 };
14233
14234 /*****************************************************************************
14235  *    IHTMLWindow5 interface
14236  */
14237 [
14238     odl,
14239     oleautomation,
14240     dual,
14241     uuid(3051040e-98b5-11cf-bb82-00aa00bdce0b)
14242 ]
14243 interface IHTMLWindow5 : IDispatch
14244 {
14245     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
14246     HRESULT XMLHttpRequest([in] VARIANT v);
14247
14248     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
14249     HRESULT XMLHttpRequest([retval, out] VARIANT * p);
14250 };
14251
14252 /*****************************************************************************
14253  *    DispHTMLWindow2 dispinterface
14254  */
14255 [
14256     hidden,
14257     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
14258 ]
14259 dispinterface DispHTMLWindow2
14260 {
14261 properties:
14262 methods:
14263     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
14264     VARIANT item([in] VARIANT *pvarIndex);
14265
14266     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
14267     LONG length();
14268
14269     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
14270     IHTMLFramesCollection2 *frames();
14271
14272     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
14273     void defaultStatus(BSTR v);
14274
14275     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
14276     BSTR defaultStatus();
14277
14278     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
14279     void status(BSTR v);
14280
14281     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
14282     BSTR status();
14283
14284     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
14285     void clearTimeout([in] LONG timerID);
14286
14287     [id(DISPID_IHTMLWINDOW2_ALERT)]
14288     void alert([in, defaultvalue("")] BSTR message);
14289
14290     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
14291     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
14292
14293     [id(DISPID_IHTMLWINDOW2_PROMPT)]
14294     VARIANT prompt(
14295             [in, defaultvalue("")] BSTR message,
14296             [in, defaultvalue("undefined")] BSTR defstr);
14297
14298     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
14299     IHTMLImageElementFactory *Image();
14300
14301     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
14302     IHTMLLocation *location();
14303
14304     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
14305     IOmHistory *history();
14306
14307     [id(DISPID_IHTMLWINDOW2_CLOSE)]
14308     void close();
14309
14310     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
14311     void opener(VARIANT v);
14312
14313     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
14314     VARIANT opener();
14315
14316     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
14317     IOmNavigator *navigator();
14318
14319     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
14320     void name(BSTR v);
14321
14322     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
14323     BSTR name();
14324
14325     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
14326     IHTMLWindow2 *parent();
14327
14328     [id(DISPID_IHTMLWINDOW2_OPEN)]
14329     IHTMLWindow2 *open(
14330             [in, defaultvalue("")] BSTR url,
14331             [in, defaultvalue("")] BSTR name,
14332             [in, defaultvalue("")] BSTR features,
14333             [in, defaultvalue(0)]  VARIANT_BOOL replace);
14334
14335     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
14336     IHTMLWindow2 *self();
14337
14338     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
14339     IHTMLWindow2 *top();
14340
14341     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
14342     IHTMLWindow2 *window();
14343
14344     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
14345     void navigate([in] BSTR url);
14346
14347     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14348     void onfocus(VARIANT v);
14349
14350     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14351     VARIANT onfocus();
14352
14353     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14354     void onblur(VARIANT v);
14355
14356     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14357     VARIANT onblur();
14358
14359     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
14360     VARIANT onload();
14361
14362     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14363     void onbeforeunload(VARIANT v);
14364
14365     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14366     VARIANT onbeforeunload();
14367
14368     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14369     void onunload(VARIANT v);
14370
14371     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14372     VARIANT onunload();
14373
14374     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14375     void onhelp(VARIANT v);
14376
14377     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14378     VARIANT onhelp();
14379
14380     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14381     void onerror(VARIANT v);
14382
14383     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14384     VARIANT onerror();
14385
14386     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14387     void onresize(VARIANT v);
14388
14389     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14390     VARIANT onresize();
14391
14392     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14393     void onscroll(VARIANT v);
14394
14395     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14396     VARIANT onscroll();
14397
14398     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
14399     IHTMLDocument2 *document();
14400
14401     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
14402     IHTMLEventObj *event();
14403
14404     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
14405     IUnknown *_newEnum();
14406
14407     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
14408     VARIANT showModalDialog(
14409             [in] BSTR dialog,
14410             [in, optional] VARIANT *varArgIn,
14411             [in, optional] VARIANT *varOptions);
14412
14413     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
14414     void showHelp(
14415             [in] BSTR helpURL,
14416             [in, optional] VARIANT helpArg,
14417             [in, defaultvalue("")] BSTR features);
14418
14419     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
14420     IHTMLScreen *screen();
14421
14422     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
14423     IHTMLOptionElementFactory *Option();
14424
14425     [id(DISPID_IHTMLWINDOW2_FOCUS)]
14426     void focus();
14427
14428     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
14429     VARIANT_BOOL closed();
14430
14431     [id(DISPID_IHTMLWINDOW2_BLUR)]
14432     void blur();
14433
14434     [id(DISPID_IHTMLWINDOW2_SCROLL)]
14435     void scroll([in] LONG x, [in] LONG y);
14436
14437     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
14438     IOmNavigator *clientInformation();
14439
14440     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
14441     void clearInterval([in] LONG timerID);
14442
14443     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14444     void offscreenBuffering(VARIANT v);
14445
14446     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14447     VARIANT offscreenBuffering();
14448
14449     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
14450     VARIANT execScript(
14451             [in] BSTR _code,
14452             [in, defaultvalue("JScript")] BSTR language);
14453
14454     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
14455     BSTR toString();
14456
14457     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
14458     void scrollBy([in] LONG x, [in] LONG y);
14459
14460     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
14461     void scrollTo([in] LONG x, [in] LONG y);
14462
14463     [id(DISPID_IHTMLWINDOW2_MOVETO)]
14464     void moveTo([in] LONG x, [in] LONG y);
14465
14466     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
14467     void moveBy([in] LONG x, [in] LONG y);
14468
14469     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
14470     void resizeTo([in] LONG x, [in] LONG y);
14471
14472     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
14473     void resizeBy([in] LONG x, [in] LONG y);
14474
14475     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
14476     IDispatch *external();
14477
14478     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
14479     LONG screenLeft();
14480
14481     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
14482     LONG screenTop();
14483
14484     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
14485     VARIANT_BOOL attachEvent(
14486              [in] BSTR event,
14487              [in] IDispatch *pDisp);
14488
14489     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
14490     void detachEvent(
14491             [in] BSTR event,
14492             [in] IDispatch *pDisp);
14493
14494     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
14495     LONG setTimeout(
14496             [in] VARIANT *expression,
14497             [in] LONG msec,
14498             [in, optional] VARIANT *language);
14499
14500     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
14501     LONG setInterval(
14502             [in] VARIANT *expression,
14503             [in] LONG msec,
14504             [in, optional] VARIANT *language);
14505
14506     [id(DISPID_IHTMLWINDOW3_PRINT)]
14507     void print();
14508
14509     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14510     void onbeforeprint(VARIANT v);
14511
14512     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14513     VARIANT onbeforeprint();
14514
14515     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14516     void onafterprint(VARIANT v);
14517
14518     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14519     VARIANT onafterprint();
14520
14521     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
14522     IHTMLDataTransfer *clipboardData();
14523
14524     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
14525     IHTMLWindow2 *showModelessDialog(
14526             [in, defaultvalue("")] BSTR url,
14527             [in, optional] VARIANT *varArgIn,
14528             [in, optional] VARIANT *options);
14529
14530     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
14531     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
14532
14533     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
14534     IHTMLFrameBase *frameElement();
14535 }
14536
14537 /*****************************************************************************
14538  *    DispHTMLWindowProxy dispinterface
14539  */
14540 [
14541     hidden,
14542     uuid(3050f55e-98b5-11cf-bb82-00aa00bdce0b)
14543 ]
14544 dispinterface DispHTMLWindowProxy
14545 {
14546 properties:
14547 methods:
14548     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
14549     VARIANT item([in] VARIANT* pvarIndex);
14550
14551     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
14552     LONG length();
14553
14554     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
14555     IHTMLFramesCollection2* frames();
14556
14557     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
14558     void defaultStatus(BSTR v);
14559
14560     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
14561     BSTR defaultStatus();
14562
14563     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
14564     void status(BSTR v);
14565
14566     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
14567     BSTR status();
14568
14569     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
14570     void clearTimeout([in] LONG timerID);
14571
14572     [id(DISPID_IHTMLWINDOW2_ALERT)]
14573     void alert([defaultvalue(""), in] BSTR message);
14574
14575     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
14576     VARIANT_BOOL confirm([defaultvalue(""), in] BSTR message);
14577
14578     [id(DISPID_IHTMLWINDOW2_PROMPT)]
14579     VARIANT prompt([defaultvalue(""), in] BSTR message,
14580                    [defaultvalue("undefined"), in] BSTR defstr);
14581
14582     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
14583     IHTMLImageElementFactory* Image();
14584
14585     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
14586     IHTMLLocation* location();
14587
14588     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
14589     IOmHistory* history();
14590
14591     [id(DISPID_IHTMLWINDOW2_CLOSE)]
14592     void close();
14593
14594     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
14595     void opener(VARIANT v);
14596
14597     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
14598     VARIANT opener();
14599
14600     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
14601     IOmNavigator* navigator();
14602
14603     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
14604     void name(BSTR v);
14605
14606     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
14607     BSTR name();
14608
14609     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
14610     IHTMLWindow2* parent();
14611
14612     [id(DISPID_IHTMLWINDOW2_OPEN)]
14613     IHTMLWindow2* open([defaultvalue(""), in] BSTR url,
14614                        [defaultvalue(""), in] BSTR name,
14615                        [defaultvalue(""), in] BSTR features,
14616                        [defaultvalue(0), in] VARIANT_BOOL replace);
14617
14618     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
14619     IHTMLWindow2* self();
14620
14621     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
14622     IHTMLWindow2* top();
14623
14624     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
14625     IHTMLWindow2* window();
14626
14627     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
14628     void navigate([in] BSTR url);
14629
14630     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14631     void onfocus(VARIANT v);
14632
14633     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
14634     VARIANT onfocus();
14635
14636     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14637     void onblur(VARIANT v);
14638
14639     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
14640     VARIANT onblur();
14641
14642     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
14643     void onload(VARIANT v);
14644
14645     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
14646     VARIANT onload();
14647
14648     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14649     void onbeforeunload(VARIANT v);
14650
14651     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
14652     VARIANT onbeforeunload();
14653
14654     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14655     void onunload(VARIANT v);
14656
14657     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
14658     VARIANT onunload();
14659
14660     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14661     void onhelp(VARIANT v);
14662
14663     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
14664     VARIANT onhelp();
14665
14666     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14667     void onerror(VARIANT v);
14668
14669     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
14670     VARIANT onerror();
14671
14672     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14673     void onresize(VARIANT v);
14674
14675     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
14676     VARIANT onresize();
14677
14678     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14679     void onscroll(VARIANT v);
14680
14681     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
14682     VARIANT onscroll();
14683
14684     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
14685     IHTMLDocument2* document();
14686
14687     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
14688     IHTMLEventObj* event();
14689
14690     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
14691     IUnknown* _newEnum();
14692
14693     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
14694     VARIANT showModalDialog([in] BSTR dialog,
14695                             [optional, in] VARIANT* varArgIn,
14696                             [optional, in] VARIANT* varOptions);
14697
14698     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
14699     void showHelp([in] BSTR helpURL,
14700                   [optional, in] VARIANT helpArg,
14701                   [defaultvalue(""), in] BSTR features);
14702
14703     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
14704     IHTMLScreen* screen();
14705
14706     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
14707     IHTMLOptionElementFactory* Option();
14708
14709     [id(DISPID_IHTMLWINDOW2_FOCUS)]
14710     void focus();
14711
14712     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
14713     VARIANT_BOOL closed();
14714
14715     [id(DISPID_IHTMLWINDOW2_BLUR)]
14716     void blur();
14717
14718     [id(DISPID_IHTMLWINDOW2_SCROLL)]
14719     void scroll([in] LONG x,
14720                 [in] LONG y);
14721
14722     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
14723     IOmNavigator* clientInformation();
14724
14725     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
14726     void clearInterval([in] LONG timerID);
14727
14728     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14729     void offscreenBuffering(VARIANT v);
14730
14731     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
14732     VARIANT offscreenBuffering();
14733
14734     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
14735     VARIANT execScript([in] BSTR code,
14736                        [defaultvalue("JScript"), in] BSTR language);
14737
14738     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
14739     BSTR toString();
14740
14741     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
14742     void scrollBy([in] LONG x,
14743                   [in] LONG y);
14744
14745     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
14746     void scrollTo([in] LONG x,
14747                   [in] LONG y);
14748
14749     [id(DISPID_IHTMLWINDOW2_MOVETO)]
14750     void moveTo([in] LONG x,
14751                 [in] LONG y);
14752
14753     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
14754     void moveBy([in] LONG x,
14755                 [in] LONG y);
14756
14757     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
14758     void resizeTo([in] LONG x,
14759                   [in] LONG y);
14760
14761     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
14762     void resizeBy([in] LONG x,
14763                   [in] LONG y);
14764
14765     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
14766     IDispatch* external();
14767
14768     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
14769     LONG screenLeft();
14770
14771     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
14772     LONG screenTop();
14773
14774     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
14775     VARIANT_BOOL attachEvent([in] BSTR event,
14776                              [in] IDispatch* pDisp);
14777
14778     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
14779     void detachEvent([in] BSTR event,
14780                      [in] IDispatch* pDisp);
14781
14782     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
14783     LONG setTimeout([in] VARIANT* expression,
14784                     [in] LONG msec,
14785                     [optional, in] VARIANT* language);
14786
14787     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
14788     LONG setInterval([in] VARIANT* expression,
14789                      [in] LONG msec,
14790                      [optional, in] VARIANT* language);
14791
14792     [id(DISPID_IHTMLWINDOW3_PRINT)]
14793     void print();
14794
14795     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14796     void onbeforeprint(VARIANT v);
14797
14798     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
14799     VARIANT onbeforeprint();
14800
14801     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14802     void onafterprint(VARIANT v);
14803
14804     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
14805     VARIANT onafterprint();
14806
14807     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
14808     IHTMLDataTransfer* clipboardData();
14809
14810     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
14811     IHTMLWindow2* showModelessDialog([defaultvalue(""), in] BSTR url,
14812                                      [optional, in] VARIANT* varArgIn,
14813                                      [optional, in] VARIANT* options);
14814
14815     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
14816     IDispatch* createPopup([optional, in] VARIANT* varArgIn);
14817
14818     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
14819     IHTMLFrameBase* frameElement();
14820
14821     [propput, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
14822     void XMLHttpRequest(VARIANT v);
14823
14824     [propget, id(DISPID_IHTMLWINDOW5_XMLHTTPREQUEST)]
14825     VARIANT XMLHttpRequest();
14826 };
14827
14828 /*****************************************************************************
14829  *    HTMLWindowEvents interface
14830  */
14831 [
14832     hidden,
14833     uuid(96A0A4E0-D062-11cf-94B6-00AA0060275C)
14834 ]
14835 dispinterface HTMLWindowEvents
14836 {
14837 properties:
14838 methods:
14839     [id(DISPID_HTMLWINDOWEVENTS_ONLOAD)]
14840     void onload();
14841
14842     [id(DISPID_HTMLWINDOWEVENTS_ONUNLOAD)]
14843     void onunload();
14844
14845     [id(DISPID_HTMLWINDOWEVENTS_ONHELP)]
14846     VARIANT_BOOL onhelp();
14847
14848     [id(DISPID_HTMLWINDOWEVENTS_ONFOCUS)]
14849     void onfocus();
14850
14851     [id(DISPID_HTMLWINDOWEVENTS_ONBLUR)]
14852     void onblur();
14853
14854     [id(DISPID_HTMLWINDOWEVENTS_ONERROR)]
14855     void onerror([in] BSTR description,
14856                  [in] BSTR url,
14857                  [in] LONG line);
14858
14859     [id(DISPID_HTMLWINDOWEVENTS_ONRESIZE)]
14860     void onresize();
14861
14862     [id(DISPID_HTMLWINDOWEVENTS_ONSCROLL)]
14863     void onscroll();
14864
14865     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREUNLOAD)]
14866     void onbeforeunload();
14867
14868     [id(DISPID_HTMLWINDOWEVENTS_ONBEFOREPRINT)]
14869     void onbeforeprint();
14870
14871     [id(DISPID_HTMLWINDOWEVENTS_ONAFTERPRINT)]
14872     void onafterprint();
14873 };
14874
14875 /*****************************************************************************
14876  *    HTMLWindowEvents2 interface
14877  */
14878 [
14879     hidden,
14880     uuid(3050f625-98b5-11cf-bb82-00aa00bdce0b)
14881 ]
14882 dispinterface HTMLWindowEvents2
14883 {
14884 properties:
14885 methods:
14886     [id(DISPID_HTMLWINDOWEVENTS2_ONLOAD)]
14887     void onload([in] IHTMLEventObj* pEvtObj);
14888
14889     [id(DISPID_HTMLWINDOWEVENTS2_ONUNLOAD)]
14890     void onunload([in] IHTMLEventObj* pEvtObj);
14891
14892     [id(DISPID_HTMLWINDOWEVENTS2_ONHELP)]
14893     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
14894
14895     [id(DISPID_HTMLWINDOWEVENTS2_ONFOCUS)]
14896     void onfocus([in] IHTMLEventObj* pEvtObj);
14897
14898     [id(DISPID_HTMLWINDOWEVENTS2_ONBLUR)]
14899     void onblur([in] IHTMLEventObj* pEvtObj);
14900
14901     [id(DISPID_HTMLWINDOWEVENTS2_ONERROR)]
14902     void onerror([in] BSTR description,
14903                  [in] BSTR url,
14904                  [in] LONG line);
14905
14906     [id(DISPID_HTMLWINDOWEVENTS2_ONRESIZE)]
14907     void onresize([in] IHTMLEventObj* pEvtObj);
14908
14909     [id(DISPID_HTMLWINDOWEVENTS2_ONSCROLL)]
14910     void onscroll([in] IHTMLEventObj* pEvtObj);
14911
14912     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD)]
14913     void onbeforeunload([in] IHTMLEventObj* pEvtObj);
14914
14915     [id(DISPID_HTMLWINDOWEVENTS2_ONBEFOREPRINT)]
14916     void onbeforeprint([in] IHTMLEventObj* pEvtObj);
14917
14918     [id(DISPID_HTMLWINDOWEVENTS2_ONAFTERPRINT)]
14919     void onafterprint([in] IHTMLEventObj* pEvtObj);
14920 };
14921
14922 /*****************************************************************************
14923  *    HTMLWindowProxy class
14924  */
14925 [
14926     uuid(3050f391-98b5-11cf-bb82-00aa00bdce0b)
14927 ]
14928 coclass HTMLWindowProxy
14929 {
14930     [default]           dispinterface DispHTMLWindowProxy;
14931     [source, default]   dispinterface HTMLWindowEvents;
14932     [source]            dispinterface HTMLWindowEvents2;
14933                         interface IHTMLWindow2;
14934                         interface IHTMLWindow3;
14935                         interface IHTMLWindow4;
14936                         interface IHTMLWindow5;
14937 };
14938
14939 /*****************************************************************************
14940  *    HTMLDocumentEvents2 interface
14941  */
14942 [
14943     hidden,
14944     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
14945 ]
14946 dispinterface HTMLDocumentEvents2
14947 {
14948     properties:
14949     methods:
14950     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
14951     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
14952
14953     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
14954     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
14955
14956     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
14957     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
14958
14959     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
14960     void onkeydown([in] IHTMLEventObj *pEvtObj);
14961
14962     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
14963     void onkeyup([in] IHTMLEventObj *pEvtObj);
14964
14965     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
14966     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
14967
14968     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
14969     void onmousedown([in] IHTMLEventObj *pEvtObj);
14970
14971     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
14972     void onmousemove([in] IHTMLEventObj *pEvtObj);
14973
14974     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
14975     void onmouseup([in] IHTMLEventObj *pEvtObj);
14976
14977     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
14978     void onmouseout([in] IHTMLEventObj *pEvtObj);
14979
14980     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
14981     void onmouseover([in] IHTMLEventObj *pEvtObj);
14982
14983     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
14984     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
14985
14986     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
14987     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
14988
14989     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
14990     void onafterupdate([in] IHTMLEventObj *pEvtObj);
14991
14992     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
14993     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
14994
14995     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
14996     void onrowenter([in] IHTMLEventObj *pEvtObj);
14997
14998     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
14999     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
15000
15001     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
15002     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
15003
15004     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
15005     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
15006
15007     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
15008     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
15009
15010     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
15011     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
15012
15013     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
15014     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
15015
15016     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
15017     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
15018
15019     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
15020     void oncellchange([in] IHTMLEventObj *pEvtObj);
15021
15022     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
15023     void onpropertychange([in] IHTMLEventObj *pEvtObj);
15024
15025     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
15026     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
15027
15028     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
15029     void ondataavailable([in] IHTMLEventObj *pEvtObj);
15030
15031     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
15032     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
15033
15034     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
15035     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
15036
15037     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
15038     void onselectionchange([in] IHTMLEventObj *pEvtObj);
15039
15040     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
15041     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
15042
15043     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
15044     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
15045
15046     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
15047     void onfocusin([in] IHTMLEventObj *pEvtObj);
15048
15049     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
15050     void onfocusout([in] IHTMLEventObj *pEvtObj);
15051
15052     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
15053     void onactivate([in] IHTMLEventObj *pEvtObj);
15054
15055     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
15056     void ondeactivate([in] IHTMLEventObj *pEvtObj);
15057
15058     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
15059     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
15060
15061     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
15062     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
15063 }
15064
15065 /*****************************************************************************
15066  *    HTMLDocumentEvents interface
15067  */
15068 [
15069     hidden,
15070     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
15071 ]
15072 dispinterface HTMLDocumentEvents
15073 {
15074     properties:
15075     methods:
15076     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
15077     VARIANT_BOOL onhelp();
15078
15079     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
15080     VARIANT_BOOL onclick();
15081
15082     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
15083     VARIANT_BOOL ondblclick();
15084
15085     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
15086     void onkeydown();
15087
15088     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
15089     void onkeyup();
15090
15091     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
15092     VARIANT_BOOL onkeypress();
15093
15094     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
15095     void onmousedown();
15096
15097     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
15098     void onmousemove();
15099
15100     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
15101     void onmouseup();
15102
15103     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
15104     void onmouseout();
15105
15106     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
15107     void onmouseover();
15108
15109     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
15110     void onreadystatechange();
15111
15112     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
15113     VARIANT_BOOL onbeforeupdate();
15114
15115     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
15116     void onafterupdate();
15117
15118     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
15119     VARIANT_BOOL onrowexit();
15120
15121     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
15122     void onrowenter();
15123
15124     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
15125     VARIANT_BOOL ondragstart();
15126
15127     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
15128     VARIANT_BOOL onselectstart();
15129
15130     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
15131     VARIANT_BOOL onerrorupdate();
15132
15133     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
15134     VARIANT_BOOL oncontextmenu();
15135
15136     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
15137     VARIANT_BOOL onstop();
15138
15139     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
15140     void onrowsdelete();
15141
15142     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
15143     void onrowsinserted();
15144
15145     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
15146     void oncellchange();
15147
15148     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
15149     void onpropertychange();
15150
15151     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
15152     void ondatasetchanged();
15153
15154     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
15155     void ondataavailable();
15156
15157     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
15158     void ondatasetcomplete();
15159
15160     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
15161     void onbeforeeditfocus();
15162
15163     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
15164     void onselectionchange();
15165
15166     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
15167     VARIANT_BOOL oncontrolselect();
15168
15169     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
15170     VARIANT_BOOL onmousewheel();
15171
15172     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
15173     void onfocusin();
15174
15175     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
15176     void onfocusout();
15177
15178     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
15179     void onactivate();
15180
15181     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
15182     void ondeactivate();
15183
15184     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
15185     VARIANT_BOOL onbeforeactivate();
15186
15187     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
15188     VARIANT_BOOL onbeforedeactivate();
15189 }
15190
15191 /*****************************************************************************
15192  *    HTMLTextContainerEvents interface
15193  */
15194 [
15195     hidden,
15196     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
15197 ]
15198 dispinterface HTMLTextContainerEvents
15199 {
15200 properties:
15201
15202 methods:
15203     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
15204     VARIANT_BOOL onhelp();
15205
15206     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
15207     VARIANT_BOOL onclick();
15208
15209     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
15210     VARIANT_BOOL ondblclick();
15211
15212     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
15213     VARIANT_BOOL onkeypress();
15214
15215     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
15216     void onkeydown();
15217
15218     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
15219     void onkeyup();
15220
15221     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
15222     void onmouseout();
15223
15224     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
15225     void onmouseover();
15226
15227     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
15228     void onmousemove();
15229
15230     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
15231     void onmousedown();
15232
15233     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
15234     void onmouseup();
15235
15236     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
15237     VARIANT_BOOL onselectstart();
15238
15239     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
15240     void onfilterchange();
15241
15242     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
15243     VARIANT_BOOL ondragstart();
15244
15245     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
15246     VARIANT_BOOL onbeforeupdate();
15247
15248     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
15249     void onafterupdate();
15250
15251     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
15252     VARIANT_BOOL onerrorupdate();
15253
15254     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
15255     VARIANT_BOOL onrowexit();
15256
15257     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
15258     void onrowenter();
15259
15260     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
15261     void ondatasetchanged();
15262
15263     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
15264     void ondataavailable();
15265
15266     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
15267     void ondatasetcomplete();
15268
15269     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
15270     void onlosecapture();
15271
15272     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
15273     void onpropertychange();
15274
15275     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
15276     void onscroll();
15277
15278     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
15279     void onfocus();
15280
15281     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
15282     void onblur();
15283
15284     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
15285     void onresize();
15286
15287     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
15288     VARIANT_BOOL ondrag();
15289
15290     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
15291     void ondragend();
15292
15293     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
15294     VARIANT_BOOL ondragenter();
15295
15296     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
15297     VARIANT_BOOL ondragover();
15298
15299     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
15300     void ondragleave();
15301
15302     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
15303     VARIANT_BOOL ondrop();
15304
15305     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
15306     VARIANT_BOOL onbeforecut();
15307
15308     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
15309     VARIANT_BOOL oncut();
15310
15311     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
15312     VARIANT_BOOL onbeforecopy();
15313
15314     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
15315     VARIANT_BOOL oncopy();
15316
15317     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
15318     VARIANT_BOOL onbeforepaste();
15319
15320     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
15321     VARIANT_BOOL onpaste();
15322
15323     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
15324     VARIANT_BOOL oncontextmenu();
15325
15326     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
15327     void onrowsdelete();
15328
15329     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
15330     void onrowsinserted();
15331
15332     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
15333     void oncellchange();
15334
15335     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
15336     void onreadystatechange();
15337
15338     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
15339     void onbeforeeditfocus();
15340
15341     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
15342     void onlayoutcomplete();
15343
15344     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
15345     void onpage();
15346
15347     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
15348     VARIANT_BOOL onbeforedeactivate();
15349
15350     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
15351     VARIANT_BOOL onbeforeactivate();
15352
15353     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
15354     void onmove();
15355
15356     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
15357     VARIANT_BOOL oncontrolselect();
15358
15359     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
15360     VARIANT_BOOL onmovestart();
15361
15362     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
15363     void onmoveend();
15364
15365     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
15366     VARIANT_BOOL onresizestart();
15367
15368     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
15369     void onresizeend();
15370
15371     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
15372     void onmouseenter();
15373
15374     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
15375     void onmouseleave();
15376
15377     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
15378     VARIANT_BOOL onmousewheel();
15379
15380     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
15381     void onactivate();
15382
15383     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
15384     void ondeactivate();
15385
15386     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
15387     void onfocusin();
15388
15389     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
15390     void onfocusout();
15391
15392     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
15393     void onchange();
15394
15395     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
15396     void onselect();
15397 };
15398
15399 /*****************************************************************************
15400  *    HTMLTextContainerEvents2 interface
15401  */
15402 [
15403     hidden,
15404     uuid(3050f624-98b5-11cf-bb82-00aa00bdce0b)
15405 ]
15406 dispinterface HTMLTextContainerEvents2
15407 {
15408 properties:
15409 methods:
15410     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
15411     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
15412
15413     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
15414     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
15415
15416     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
15417     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
15418
15419     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
15420     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
15421
15422     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
15423     void onkeydown([in] IHTMLEventObj* pEvtObj);
15424
15425     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
15426     void onkeyup([in] IHTMLEventObj* pEvtObj);
15427
15428     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
15429     void onmouseout([in] IHTMLEventObj* pEvtObj);
15430
15431     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
15432     void onmouseover([in] IHTMLEventObj* pEvtObj);
15433
15434     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
15435     void onmousemove([in] IHTMLEventObj* pEvtObj);
15436
15437     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
15438     void onmousedown([in] IHTMLEventObj* pEvtObj);
15439
15440     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
15441     void onmouseup([in] IHTMLEventObj* pEvtObj);
15442
15443     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
15444     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
15445
15446     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
15447     void onfilterchange([in] IHTMLEventObj* pEvtObj);
15448
15449     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
15450     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
15451
15452     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
15453     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
15454
15455     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
15456     void onafterupdate([in] IHTMLEventObj* pEvtObj);
15457
15458     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
15459     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
15460
15461     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
15462     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
15463
15464     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
15465     void onrowenter([in] IHTMLEventObj* pEvtObj);
15466
15467     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
15468     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
15469
15470     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
15471     void ondataavailable([in] IHTMLEventObj* pEvtObj);
15472
15473     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
15474     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
15475
15476     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
15477     void onlosecapture([in] IHTMLEventObj* pEvtObj);
15478
15479     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
15480     void onpropertychange([in] IHTMLEventObj* pEvtObj);
15481
15482     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
15483     void onscroll([in] IHTMLEventObj* pEvtObj);
15484
15485     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
15486     void onfocus([in] IHTMLEventObj* pEvtObj);
15487
15488     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
15489     void onblur([in] IHTMLEventObj* pEvtObj);
15490
15491     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
15492     void onresize([in] IHTMLEventObj* pEvtObj);
15493
15494     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
15495     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
15496
15497     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
15498     void ondragend([in] IHTMLEventObj* pEvtObj);
15499
15500     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
15501     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
15502
15503     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
15504     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
15505
15506     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
15507     void ondragleave([in] IHTMLEventObj* pEvtObj);
15508
15509     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
15510     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
15511
15512     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
15513     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
15514
15515     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
15516     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
15517
15518     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
15519     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
15520
15521     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
15522     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
15523
15524     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
15525     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
15526
15527     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
15528     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
15529
15530     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
15531     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
15532
15533     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
15534     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
15535
15536     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
15537     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
15538
15539     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
15540     void oncellchange([in] IHTMLEventObj* pEvtObj);
15541
15542     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
15543     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
15544
15545     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
15546     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
15547
15548     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
15549     void onpage([in] IHTMLEventObj* pEvtObj);
15550
15551     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
15552     void onmouseenter([in] IHTMLEventObj* pEvtObj);
15553
15554     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
15555     void onmouseleave([in] IHTMLEventObj* pEvtObj);
15556
15557     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
15558     void onactivate([in] IHTMLEventObj* pEvtObj);
15559
15560     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
15561     void ondeactivate([in] IHTMLEventObj* pEvtObj);
15562
15563     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
15564     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
15565
15566     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
15567     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
15568
15569     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
15570     void onfocusin([in] IHTMLEventObj* pEvtObj);
15571
15572     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
15573     void onfocusout([in] IHTMLEventObj* pEvtObj);
15574
15575     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
15576     void onmove([in] IHTMLEventObj* pEvtObj);
15577
15578     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
15579     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
15580
15581     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
15582     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
15583
15584     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
15585     void onmoveend([in] IHTMLEventObj* pEvtObj);
15586
15587     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
15588     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
15589
15590     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
15591     void onresizeend([in] IHTMLEventObj* pEvtObj);
15592
15593     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
15594     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
15595
15596     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONCHANGE)]
15597     void onchange([in] IHTMLEventObj* pEvtObj);
15598
15599     [id(DISPID_HTMLTEXTCONTAINEREVENTS2_ONSELECT)]
15600     void onselect([in] IHTMLEventObj* pEvtObj);
15601 };
15602
15603 /*****************************************************************************
15604  *    IHTMLDocument interface
15605  */
15606 [
15607     odl,
15608     oleautomation,
15609     dual,
15610     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
15611 ]
15612 interface IHTMLDocument : IDispatch
15613 {
15614     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
15615     HRESULT Script([retval, out] IDispatch **p);
15616 }
15617
15618 /*****************************************************************************
15619  *    IHTMLDocument2 interface
15620  */
15621 [
15622     odl,
15623     oleautomation,
15624     dual,
15625     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
15626 ]
15627 interface IHTMLDocument2 : IHTMLDocument
15628 {
15629     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
15630     HRESULT all([retval, out] IHTMLElementCollection **p);
15631
15632     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
15633     HRESULT body([retval, out] IHTMLElement **p);
15634
15635     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
15636     HRESULT activeElement([retval, out] IHTMLElement **p);
15637
15638     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
15639     HRESULT images([retval, out] IHTMLElementCollection **p);
15640
15641     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
15642     HRESULT applets([retval, out] IHTMLElementCollection **p);
15643
15644     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
15645     HRESULT links([retval, out] IHTMLElementCollection **p);
15646
15647     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
15648     HRESULT forms([retval, out] IHTMLElementCollection **p);
15649
15650     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
15651     HRESULT anchors([retval, out] IHTMLElementCollection **p);
15652
15653     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15654     HRESULT title([in] BSTR v);
15655
15656     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
15657     HRESULT title([retval, out] BSTR *p);
15658
15659     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
15660     HRESULT scripts([retval, out] IHTMLElementCollection **p);
15661
15662     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
15663     HRESULT designMode([in] BSTR v);
15664
15665     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
15666     HRESULT designMode([retval, out] BSTR *p);
15667
15668     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
15669     HRESULT selection([retval, out] IHTMLSelectionObject **p);
15670
15671     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
15672      HRESULT readyState([retval, out] BSTR *p);
15673
15674     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
15675     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
15676
15677     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
15678     HRESULT embeds([retval, out] IHTMLElementCollection **p);
15679
15680     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
15681     HRESULT plugins([retval, out] IHTMLElementCollection **p);
15682
15683     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15684     HRESULT alinkColor([in] VARIANT v);
15685
15686     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
15687     HRESULT alinkColor([retval, out] VARIANT *p);
15688
15689     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15690     HRESULT bgColor([in] VARIANT v);
15691
15692     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
15693     HRESULT bgColor([retval, out] VARIANT *p);
15694
15695     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15696     HRESULT fgColor([in] VARIANT v);
15697
15698     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
15699     HRESULT fgColor([retval, out] VARIANT *p);
15700
15701     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15702     HRESULT linkColor([in] VARIANT v);
15703
15704     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
15705     HRESULT linkColor([retval, out] VARIANT *p);
15706
15707     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15708     HRESULT vlinkColor([in] VARIANT v);
15709
15710     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
15711     HRESULT vlinkColor([retval, out] VARIANT *p);
15712
15713     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
15714     HRESULT referrer([retval, out] BSTR *p);
15715
15716     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
15717     HRESULT location([retval, out] IHTMLLocation **p);
15718
15719     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
15720     HRESULT lastModified([retval, out] BSTR *p);
15721
15722     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
15723     HRESULT URL([in] BSTR v);
15724
15725     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
15726     HRESULT URL([retval, out] BSTR *p);
15727
15728     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15729     HRESULT domain([in] BSTR v);
15730
15731     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
15732     HRESULT domain([retval, out] BSTR *p);
15733
15734     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15735     HRESULT cookie([in] BSTR v);
15736
15737     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
15738     HRESULT cookie([retval, out] BSTR *p);
15739
15740     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
15741     HRESULT expando([in] VARIANT_BOOL v);
15742
15743     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
15744     HRESULT expando([retval, out] VARIANT_BOOL *p);
15745
15746     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
15747      HRESULT charset([in] BSTR v);
15748
15749     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
15750     HRESULT charset([retval, out] BSTR *p);
15751
15752     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15753     HRESULT defaultCharset([in] BSTR v);
15754
15755     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
15756     HRESULT defaultCharset([retval, out] BSTR *p);
15757
15758     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
15759     HRESULT mimeType([retval, out] BSTR *p);
15760
15761     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
15762     HRESULT fileSize([retval, out] BSTR *p);
15763
15764     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
15765     HRESULT fileCreatedDate([retval, out] BSTR *p);
15766
15767     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
15768     HRESULT fileModifiedDate([retval, out] BSTR *p);
15769
15770     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
15771     HRESULT fileUpdatedDate([retval, out] BSTR *p);
15772
15773     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
15774     HRESULT security([retval, out] BSTR *p);
15775
15776     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
15777     HRESULT protocol([retval, out] BSTR *p);
15778
15779     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
15780      HRESULT nameProp([retval, out] BSTR *p);
15781
15782     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
15783     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
15784
15785     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
15786     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
15787
15788     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
15789     HRESULT open(
15790         [defaultvalue("text/html"), in] BSTR url,
15791         [optional, in] VARIANT name,
15792         [optional, in] VARIANT features,
15793         [optional, in] VARIANT replace,
15794         [retval, out]  IDispatch **pomWindowResult);
15795
15796     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
15797     HRESULT close();
15798
15799     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
15800     HRESULT clear();
15801
15802     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
15803     HRESULT queryCommandSupported(
15804         [in] BSTR cmdID,
15805         [retval, out] VARIANT_BOOL *pfRet);
15806
15807     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
15808     HRESULT queryCommandEnabled(
15809         [in] BSTR cmdID,
15810         [retval, out] VARIANT_BOOL *pfRet);
15811
15812     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
15813     HRESULT queryCommandState(
15814         [in] BSTR cmdID,
15815         [retval, out] VARIANT_BOOL *pfRet);
15816
15817     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
15818     HRESULT queryCommandIndeterm(
15819         [in] BSTR cmdID,
15820         [retval, out] VARIANT_BOOL *pfRet);
15821
15822     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
15823     HRESULT queryCommandText(
15824         [in] BSTR cmdID,
15825         [retval, out] BSTR *pcmdText);
15826
15827     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
15828     HRESULT queryCommandValue(
15829         [in] BSTR cmdID,
15830         [retval, out] VARIANT *pcmdValue);
15831
15832     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
15833     HRESULT execCommand(
15834         [in] BSTR cmdID,
15835         [defaultvalue(0), in] VARIANT_BOOL showUI,
15836         [optional, in] VARIANT value,
15837         [retval, out] VARIANT_BOOL *pfRet);
15838
15839     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
15840     HRESULT execCommandShowHelp(
15841         [in] BSTR cmdID,
15842         [retval, out] VARIANT_BOOL *pfRet);
15843
15844     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
15845      HRESULT createElement(
15846         [in] BSTR eTag,
15847         [retval, out] IHTMLElement **newElem);
15848
15849     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
15850     HRESULT onhelp([in] VARIANT v);
15851
15852     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
15853     HRESULT onhelp([retval, out] VARIANT *p);
15854
15855     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
15856     HRESULT onclick([in] VARIANT v);
15857
15858     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
15859     HRESULT onclick([retval, out] VARIANT *p);
15860
15861     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
15862     HRESULT ondblclick([in] VARIANT v);
15863
15864     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
15865     HRESULT ondblclick([retval, out] VARIANT *p);
15866
15867     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
15868     HRESULT onkeyup([in] VARIANT v);
15869
15870     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
15871     HRESULT onkeyup([retval, out] VARIANT *p);
15872
15873     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
15874     HRESULT onkeydown([in] VARIANT v);
15875
15876     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
15877     HRESULT onkeydown([retval, out] VARIANT *p);
15878
15879     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
15880      HRESULT onkeypress([in] VARIANT v);
15881
15882     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
15883     HRESULT onkeypress([retval, out] VARIANT *p);
15884
15885     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
15886     HRESULT onmouseup([in] VARIANT v);
15887
15888     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
15889     HRESULT onmouseup([retval, out] VARIANT *p);
15890
15891     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
15892     HRESULT onmousedown([in] VARIANT v);
15893
15894     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
15895     HRESULT onmousedown([retval, out] VARIANT *p);
15896
15897     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
15898     HRESULT onmousemove([in] VARIANT v);
15899
15900     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
15901     HRESULT onmousemove([retval, out] VARIANT *p);
15902
15903     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
15904     HRESULT onmouseout([in] VARIANT v);
15905
15906     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
15907     HRESULT onmouseout([retval, out] VARIANT *p);
15908
15909     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
15910     HRESULT onmouseover([in] VARIANT v);
15911
15912     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
15913     HRESULT onmouseover([retval, out] VARIANT *p);
15914
15915     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
15916     HRESULT onreadystatechange([in] VARIANT v);
15917
15918     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
15919     HRESULT onreadystatechange([retval, out] VARIANT *p);
15920
15921     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
15922     HRESULT onafterupdate([in] VARIANT v);
15923
15924     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
15925     HRESULT onafterupdate([retval, out] VARIANT *p);
15926
15927     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
15928     HRESULT onrowexit([in] VARIANT v);
15929
15930     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
15931     HRESULT onrowexit([retval, out] VARIANT *p);
15932
15933     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
15934     HRESULT onrowenter([in] VARIANT v);
15935
15936     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
15937     HRESULT onrowenter([retval, out] VARIANT *p);
15938
15939     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
15940     HRESULT ondragstart([in] VARIANT v);
15941
15942     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
15943     HRESULT ondragstart([retval, out] VARIANT *p);
15944
15945     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
15946     HRESULT onselectstart([in] VARIANT v);
15947
15948     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
15949     HRESULT onselectstart([retval, out] VARIANT *p);
15950
15951     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
15952     HRESULT elementFromPoint(
15953         [in] LONG x,
15954         [in] LONG y,
15955         [retval, out] IHTMLElement **elementHit);
15956
15957     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
15958     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
15959
15960     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
15961     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
15962
15963     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
15964     HRESULT onbeforeupdate([in] VARIANT v);
15965
15966     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
15967     HRESULT onbeforeupdate([retval, out] VARIANT *p);
15968
15969     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
15970     HRESULT onerrorupdate([in] VARIANT v);
15971
15972     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
15973     HRESULT onerrorupdate([retval, out] VARIANT *p);
15974
15975     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
15976     HRESULT toString([retval, out] BSTR *String);
15977
15978     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
15979     HRESULT createStyleSheet(
15980         [defaultvalue(""), in] BSTR bstrHref,
15981         [defaultvalue(-1), in] LONG lIndex,
15982         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
15983 }
15984
15985 /*****************************************************************************
15986  *    IHTMLDocument3 interface
15987  */
15988 [
15989     odl,
15990     oleautomation,
15991     dual,
15992     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
15993 ]
15994 interface IHTMLDocument3 : IDispatch
15995 {
15996     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
15997     HRESULT releaseCapture();
15998
15999     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
16000     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
16001
16002     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
16003     HRESULT createTextNode(
16004         [in] BSTR text,
16005         [retval, out] IHTMLDOMNode **newTextNode);
16006
16007     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
16008     HRESULT documentElement([retval, out] IHTMLElement **p);
16009
16010     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
16011     HRESULT uniqueID([retval, out] BSTR *p);
16012
16013     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
16014     HRESULT attachEvent(
16015         [in] BSTR event,
16016         [in] IDispatch* pDisp,
16017         [retval, out] VARIANT_BOOL *pfResult);
16018
16019     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
16020     HRESULT detachEvent(
16021         [in] BSTR event,
16022         [in] IDispatch *pDisp);
16023
16024     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
16025     HRESULT onrowsdelete([in] VARIANT v);
16026
16027     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
16028     HRESULT onrowsdelete([retval, out] VARIANT *p);
16029
16030     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
16031     HRESULT onrowsinserted([in] VARIANT v);
16032
16033     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
16034     HRESULT onrowsinserted([retval, out] VARIANT *p);
16035
16036     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
16037     HRESULT oncellchange([in] VARIANT v);
16038
16039     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
16040     HRESULT oncellchange([retval, out] VARIANT *p);
16041
16042     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
16043     HRESULT ondatasetchanged([in] VARIANT v);
16044
16045     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
16046     HRESULT ondatasetchanged([retval, out] VARIANT *p);
16047
16048     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
16049     HRESULT ondataavailable([in] VARIANT v);
16050
16051     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
16052     HRESULT ondataavailable([retval, out] VARIANT * p);
16053
16054     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
16055     HRESULT ondatasetcomplete([in] VARIANT v);
16056
16057     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
16058     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
16059
16060     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
16061     HRESULT onpropertychange([in] VARIANT v);
16062
16063     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
16064     HRESULT onpropertychange([retval, out] VARIANT *p);
16065
16066     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
16067     HRESULT dir([in] BSTR v);
16068
16069     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
16070     HRESULT dir([retval, out] BSTR *p);
16071
16072     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
16073     HRESULT oncontextmenu([in] VARIANT v);
16074
16075     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
16076     HRESULT oncontextmenu([retval, out] VARIANT *p);
16077
16078     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
16079     HRESULT onstop([in] VARIANT v);
16080
16081     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
16082     HRESULT onstop([retval, out] VARIANT *p);
16083
16084     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
16085     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
16086
16087     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
16088     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
16089
16090     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
16091     HRESULT enableDownload([in] VARIANT_BOOL v);
16092
16093     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
16094     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
16095
16096     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
16097     HRESULT baseUrl([in] BSTR v);
16098
16099     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
16100     HRESULT baseUrl([retval, out] BSTR *p);
16101
16102     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
16103     HRESULT childNodes([retval, out] IDispatch **p);
16104
16105     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
16106     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
16107
16108     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
16109     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
16110
16111     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
16112     HRESULT onbeforeeditfocus([in] VARIANT v);
16113
16114     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
16115     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
16116
16117     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
16118     HRESULT getElementsByName(
16119         [in] BSTR v,
16120         [retval, out] IHTMLElementCollection **pelColl);
16121
16122     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
16123     HRESULT getElementById(
16124         [in] BSTR v,
16125         [retval, out] IHTMLElement **pel);
16126
16127     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
16128     HRESULT getElementsByTagName(
16129         [in] BSTR v,
16130         [retval, out] IHTMLElementCollection **pelColl);
16131 }
16132
16133 /*****************************************************************************
16134  *    IHTMLDocument4 interface
16135  */
16136 [
16137     odl,
16138     oleautomation,
16139     dual,
16140     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
16141 ]
16142 interface IHTMLDocument4 : IDispatch
16143 {
16144     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
16145     HRESULT focus();
16146
16147     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
16148     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
16149
16150     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
16151     HRESULT onselectionchange([in] VARIANT v);
16152
16153     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
16154     HRESULT onselectionchange([retval, out] VARIANT *p);
16155
16156     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
16157     HRESULT namespaces([retval, out] IDispatch **p);
16158
16159     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
16160     HRESULT createDocumentFromUrl(
16161         [in] BSTR bstrUrl,
16162         [in] BSTR bstrOptions,
16163         [retval, out] IHTMLDocument2 **newDoc);
16164
16165     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
16166     HRESULT media([in] BSTR v);
16167
16168     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
16169     HRESULT media([retval, out] BSTR *p);
16170
16171     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
16172     HRESULT createEventObject(
16173         [optional, in] VARIANT *pvarEventObject,
16174         [retval, out] IHTMLEventObj **ppEventObj);
16175
16176     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
16177     HRESULT fireEvent(
16178         [in] BSTR bstrEventName,
16179         [optional, in] VARIANT *pvarEventObject,
16180         [retval, out] VARIANT_BOOL *pfCancelled);
16181
16182     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
16183     HRESULT createRenderStyle(
16184         [in] BSTR v,
16185         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
16186
16187     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
16188     HRESULT oncontrolselect([in] VARIANT v);
16189
16190     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
16191     HRESULT oncontrolselect([retval, out] VARIANT *p);
16192
16193     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
16194     HRESULT URLUnencoded([retval, out] BSTR *p);
16195 }
16196
16197 /*****************************************************************************
16198  *    IHTMLDocument5 interface
16199  */
16200 [
16201     odl,
16202     oleautomation,
16203     dual,
16204     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
16205 ]
16206 interface IHTMLDocument5 : IDispatch
16207 {
16208     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
16209     HRESULT onmousewheel([in] VARIANT v);
16210
16211     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
16212     HRESULT onmousewheel([retval, out] VARIANT *p);
16213
16214     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
16215     HRESULT doctype([retval, out] IHTMLDOMNode **p);
16216
16217     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
16218     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
16219
16220     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
16221     HRESULT createAttribute(
16222         [in] BSTR bstrattrName,
16223         [retval, out] IHTMLDOMAttribute **ppattribute);
16224
16225     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
16226     HRESULT createComment(
16227         [in] BSTR bstrdata,
16228         [retval, out] IHTMLDOMNode **ppRetNode);
16229
16230     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16231     HRESULT onfocusin([in] VARIANT v);
16232
16233     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16234     HRESULT onfocusin([retval, out] VARIANT *p);
16235
16236     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16237     HRESULT onfocusout([in] VARIANT v);
16238
16239     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16240     HRESULT onfocusout([retval, out] VARIANT *p);
16241
16242     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16243     HRESULT onactivate([in] VARIANT v);
16244
16245     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16246     HRESULT onactivate([retval, out] VARIANT *p);
16247
16248     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16249     HRESULT ondeactivate([in] VARIANT v);
16250
16251     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16252     HRESULT ondeactivate([retval, out] VARIANT *p);
16253
16254     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16255     HRESULT onbeforeactivate([in] VARIANT v);
16256
16257     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16258     HRESULT onbeforeactivate([retval, out] VARIANT *p);
16259
16260     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16261     HRESULT onbeforedeactivate([in] VARIANT v);
16262
16263     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16264     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
16265
16266     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
16267     HRESULT compatMode([retval, out] BSTR *p);
16268 }
16269
16270 /*****************************************************************************
16271  *    DispHTMLDocument dispinterface
16272  */
16273 [
16274     hidden,
16275     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
16276 ]
16277 dispinterface DispHTMLDocument
16278 {
16279 properties:
16280 methods:
16281     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
16282     IDispatch *Script();
16283
16284     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
16285     IHTMLElementCollection *all();
16286
16287     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
16288     IHTMLElement *body();
16289
16290     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
16291     IHTMLElement *activeElement();
16292
16293     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
16294     IHTMLElementCollection *images();
16295
16296     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
16297     IHTMLElementCollection *applets();
16298
16299     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
16300     IHTMLElementCollection *links();
16301
16302     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
16303     IHTMLElementCollection *forms();
16304
16305     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
16306     IHTMLElementCollection *anchors();
16307
16308     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
16309     void title(BSTR v);
16310
16311     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
16312     BSTR title();
16313
16314     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
16315     IHTMLElementCollection *scripts();
16316
16317     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
16318     void designMode(BSTR v);
16319
16320     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
16321     BSTR designMode();
16322
16323     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
16324     IHTMLSelectionObject *selection();
16325
16326     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
16327     BSTR readyState();
16328
16329     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
16330     IHTMLFramesCollection2 *frames();
16331
16332     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
16333     IHTMLElementCollection *embeds();
16334
16335     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
16336     IHTMLElementCollection *plugins();
16337
16338     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
16339     void alinkColor(VARIANT v);
16340
16341     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
16342     VARIANT alinkColor();
16343
16344     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
16345     void bgColor(VARIANT v);
16346
16347     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
16348     VARIANT bgColor();
16349
16350     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
16351     void fgColor(VARIANT v);
16352
16353     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
16354     VARIANT fgColor();
16355
16356     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
16357     void linkColor(VARIANT v);
16358
16359     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
16360     VARIANT linkColor();
16361
16362     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
16363     void vlinkColor(VARIANT v);
16364
16365     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
16366     VARIANT vlinkColor();
16367
16368     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
16369     BSTR referrer();
16370
16371     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
16372     IHTMLLocation *location();
16373
16374     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
16375     BSTR lastModified();
16376
16377     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
16378     void URL(BSTR v);
16379
16380     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
16381     BSTR URL();
16382
16383     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
16384     void domain(BSTR v);
16385
16386     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
16387     BSTR domain();
16388
16389     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
16390     void cookie(BSTR v);
16391
16392     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
16393     BSTR cookie();
16394
16395     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
16396     void expando(VARIANT_BOOL v);
16397
16398     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
16399     VARIANT_BOOL expando();
16400
16401     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
16402     void charset(BSTR v);
16403
16404     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
16405     BSTR charset();
16406
16407     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
16408     void defaultCharset(BSTR v);
16409
16410     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
16411     BSTR defaultCharset();
16412
16413     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
16414     BSTR mimeType();
16415
16416     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
16417     BSTR fileSize();
16418
16419     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
16420     BSTR fileCreatedDate();
16421
16422     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
16423     BSTR fileModifiedDate();
16424
16425     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
16426     BSTR fileUpdatedDate();
16427
16428     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
16429     BSTR security();
16430
16431     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
16432     BSTR protocol();
16433
16434     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
16435     BSTR nameProp();
16436
16437     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
16438     void write([in] SAFEARRAY(VARIANT) psarray);
16439
16440     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
16441     void writeln([in] SAFEARRAY(VARIANT) psarray);
16442
16443     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
16444     IDispatch *open(
16445         [defaultvalue("text/html"), in] BSTR url,
16446         [optional, in] VARIANT name,
16447         [optional, in] VARIANT features,
16448         [optional, in] VARIANT replace);
16449
16450     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
16451     void close();
16452
16453     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
16454     void clear();
16455
16456     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
16457     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
16458
16459     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
16460     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
16461
16462     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
16463     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
16464
16465     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
16466     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
16467
16468     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
16469     BSTR queryCommandText([in] BSTR cmdID);
16470
16471     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
16472     VARIANT queryCommandValue([in] BSTR cmdID);
16473
16474     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
16475     VARIANT_BOOL execCommand(
16476         [in] BSTR cmdID,
16477         [defaultvalue(0), in] VARIANT_BOOL showUI,
16478         [optional, in] VARIANT value);
16479
16480     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
16481     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
16482
16483     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
16484     IHTMLElement *createElement([in] BSTR eTag);
16485
16486     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
16487     void onhelp(VARIANT v);
16488
16489     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
16490     VARIANT onhelp();
16491
16492     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
16493     void onclick(VARIANT v);
16494
16495     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
16496     VARIANT onclick();
16497
16498     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
16499     void ondblclick(VARIANT v);
16500
16501     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
16502     VARIANT ondblclick();
16503
16504     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
16505     void onkeyup(VARIANT v);
16506
16507     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
16508     VARIANT onkeyup();
16509
16510     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
16511     void onkeydown(VARIANT v);
16512
16513     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
16514     VARIANT onkeydown();
16515
16516     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
16517     void onkeypress(VARIANT v);
16518
16519     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
16520     VARIANT onkeypress();
16521
16522     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
16523     void onmouseup(VARIANT v);
16524
16525     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
16526     VARIANT onmouseup();
16527
16528     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
16529     void onmousedown(VARIANT v);
16530
16531     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
16532     VARIANT onmousedown();
16533
16534     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
16535     void onmousemove(VARIANT v);
16536
16537     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
16538     VARIANT onmousemove();
16539
16540     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
16541     void onmouseout(VARIANT v);
16542
16543     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
16544     VARIANT onmouseout();
16545
16546     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
16547     void onmouseover(VARIANT v);
16548
16549     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
16550     VARIANT onmouseover();
16551
16552     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16553     void onreadystatechange(VARIANT v);
16554
16555     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
16556     VARIANT onreadystatechange();
16557
16558     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
16559     void onafterupdate(VARIANT v);
16560
16561     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
16562     VARIANT onafterupdate();
16563
16564     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
16565     void onrowexit(VARIANT v);
16566
16567     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
16568     VARIANT onrowexit();
16569
16570     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
16571     void onrowenter(VARIANT v);
16572
16573     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
16574     VARIANT onrowenter();
16575
16576     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
16577     void ondragstart(VARIANT v);
16578
16579     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
16580     VARIANT ondragstart();
16581
16582     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
16583     void onselectstart(VARIANT v);
16584
16585     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
16586     VARIANT onselectstart();
16587
16588     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
16589     IHTMLElement *elementFromPoint(
16590         [in] LONG x,
16591         [in] LONG y);
16592
16593     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
16594     IHTMLWindow2 *parentWindow();
16595
16596     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
16597     IHTMLStyleSheetsCollection *styleSheets();
16598
16599     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
16600     void onbeforeupdate(VARIANT v);
16601
16602     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
16603     VARIANT onbeforeupdate();
16604
16605     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
16606     void onerrorupdate(VARIANT v);
16607
16608     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
16609     VARIANT onerrorupdate();
16610
16611     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
16612     BSTR toString();
16613
16614     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
16615     IHTMLStyleSheet *createStyleSheet(
16616         [defaultvalue(""), in] BSTR bstrHref,
16617         [defaultvalue(-1), in] LONG lIndex);
16618
16619     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
16620     void releaseCapture();
16621
16622     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
16623     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
16624
16625     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
16626     IHTMLDOMNode *createTextNode([in] BSTR text);
16627
16628     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
16629     IHTMLElement *documentElement();
16630
16631     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
16632     BSTR uniqueID();
16633
16634     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
16635     VARIANT_BOOL attachEvent(
16636         [in] BSTR event,
16637         [in] IDispatch *pDisp);
16638
16639     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
16640     void detachEvent(
16641         [in] BSTR event,
16642         [in] IDispatch *pDisp);
16643
16644     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
16645     void onrowsdelete(VARIANT v);
16646
16647     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
16648     VARIANT onrowsdelete();
16649
16650     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
16651     void onrowsinserted(VARIANT v);
16652
16653     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
16654     VARIANT onrowsinserted();
16655
16656     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
16657     void oncellchange(VARIANT v);
16658
16659     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
16660     VARIANT oncellchange();
16661
16662     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
16663     void ondatasetchanged(VARIANT v);
16664
16665     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
16666     VARIANT ondatasetchanged();
16667
16668     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
16669     void ondataavailable(VARIANT v);
16670
16671     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
16672     VARIANT ondataavailable();
16673
16674     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
16675     void ondatasetcomplete(VARIANT v);
16676
16677     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
16678     VARIANT ondatasetcomplete();
16679
16680     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
16681     void onpropertychange(VARIANT v);
16682
16683     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
16684     VARIANT onpropertychange();
16685
16686     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
16687     void dir(BSTR v);
16688
16689     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
16690     BSTR dir();
16691
16692     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
16693     void oncontextmenu(VARIANT v);
16694
16695     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
16696     VARIANT oncontextmenu();
16697
16698     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
16699     void onstop(VARIANT v);
16700
16701     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
16702     VARIANT onstop();
16703
16704     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
16705     IHTMLDocument2 *createDocumentFragment();
16706
16707     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
16708     IHTMLDocument2 *parentDocument();
16709
16710     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
16711     void enableDownload(VARIANT_BOOL v);
16712
16713     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
16714     VARIANT_BOOL enableDownload();
16715
16716     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
16717     void baseUrl(BSTR v);
16718
16719     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
16720     BSTR baseUrl();
16721
16722     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
16723     void inheritStyleSheets(VARIANT_BOOL v);
16724
16725     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
16726     VARIANT_BOOL inheritStyleSheets();
16727
16728     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
16729     void onbeforeeditfocus(VARIANT v);
16730
16731     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
16732     VARIANT onbeforeeditfocus();
16733
16734     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
16735     IHTMLElementCollection *getElementsByName([in] BSTR v);
16736
16737     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
16738     IHTMLElement *getElementById([in] BSTR v);
16739
16740     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
16741     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
16742
16743     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
16744     void focus();
16745
16746     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
16747     VARIANT_BOOL hasFocus();
16748
16749     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
16750     void onselectionchange(VARIANT v);
16751
16752     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
16753     VARIANT onselectionchange();
16754
16755     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
16756     IDispatch *namespaces();
16757
16758     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
16759     IHTMLDocument2 *createDocumentFromUrl(
16760         [in] BSTR bstrUrl,
16761         [in] BSTR bstrOptions);
16762
16763     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
16764     void media(BSTR v);
16765
16766     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
16767     BSTR media();
16768
16769     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
16770     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
16771
16772     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
16773     VARIANT_BOOL fireEvent(
16774         [in] BSTR bstrEventName,
16775         [optional, in] VARIANT *pvarEventObject);
16776
16777     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
16778     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
16779
16780     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
16781     void oncontrolselect(VARIANT v);
16782
16783     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
16784     VARIANT oncontrolselect();
16785
16786     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
16787     BSTR URLUnencoded();
16788
16789     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
16790     void onmousewheel(VARIANT v);
16791
16792     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
16793     VARIANT onmousewheel();
16794
16795     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
16796     IHTMLDOMNode *doctype();
16797
16798     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
16799     IHTMLDOMImplementation *implementation();
16800
16801     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
16802     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
16803
16804     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
16805     IHTMLDOMNode *createComment([in] BSTR bstrdata);
16806
16807     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16808     void onfocusin(VARIANT v);
16809
16810     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
16811     VARIANT onfocusin();
16812
16813     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16814     void onfocusout(VARIANT v);
16815
16816     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
16817     VARIANT onfocusout();
16818
16819     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16820     void onactivate(VARIANT v);
16821
16822     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
16823     VARIANT onactivate();
16824
16825     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16826     void ondeactivate(VARIANT v);
16827
16828     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
16829     VARIANT ondeactivate();
16830
16831     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16832     void onbeforeactivate(VARIANT v);
16833
16834     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
16835     VARIANT onbeforeactivate();
16836
16837     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16838     void onbeforedeactivate(VARIANT v);
16839
16840     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
16841     VARIANT onbeforedeactivate();
16842
16843     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
16844     BSTR compatMode();
16845
16846     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
16847     LONG nodeType();
16848
16849     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
16850     IHTMLDOMNode *parentNode();
16851
16852     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
16853     VARIANT_BOOL hasChildNodes();
16854
16855     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
16856     IDispatch *childNodes();
16857
16858     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
16859     IDispatch *attributes();
16860
16861     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
16862     IHTMLDOMNode *insertBefore(
16863         [in] IHTMLDOMNode *newChild,
16864         [optional, in] VARIANT refChild);
16865
16866     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
16867     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
16868
16869     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
16870     IHTMLDOMNode *replaceChild(
16871         [in] IHTMLDOMNode *newChild,
16872         [in] IHTMLDOMNode *oldChild);
16873
16874     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
16875     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
16876
16877     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
16878     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
16879
16880     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
16881     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
16882
16883     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
16884     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
16885
16886     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
16887     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
16888
16889     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
16890     BSTR nodeName();
16891
16892     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16893     void nodeValue(VARIANT v);
16894
16895     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
16896     VARIANT nodeValue();
16897
16898     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
16899     IHTMLDOMNode *firstChild();
16900
16901     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
16902     IHTMLDOMNode *lastChild();
16903
16904     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
16905     IHTMLDOMNode *previousSibling();
16906
16907     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
16908     IHTMLDOMNode *nextSibling();
16909
16910     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
16911     IDispatch *ownerDocument();
16912 }
16913
16914 /*****************************************************************************
16915  *    HTMLDocument coclass
16916  */
16917 [
16918     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
16919 ]
16920 coclass HTMLDocument
16921 {
16922     [default]         dispinterface DispHTMLDocument;
16923     [source, default] dispinterface HTMLDocumentEvents;
16924     [source]          dispinterface HTMLDocumentEvents2;
16925                       interface IHTMLDocument2;
16926                       interface IHTMLDocument3;
16927                       interface IHTMLDocument4;
16928                       interface IHTMLDocument5;
16929                       interface IHTMLDOMNode;
16930                       interface IHTMLDOMNode2;
16931 }
16932
16933 /*****************************************************************************
16934  *    IHTMLCommentElement interface
16935  */
16936 [
16937     odl,
16938     oleautomation,
16939     dual,
16940     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
16941 ]
16942 interface IHTMLCommentElement : IDispatch
16943 {
16944     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16945     HRESULT text([in] BSTR v);
16946
16947     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
16948     HRESULT text([out, retval] BSTR *p);
16949
16950     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16951     HRESULT atomic([in] LONG v);
16952
16953     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
16954     HRESULT atomic([out, retval] LONG *p);
16955 }
16956
16957 /*****************************************************************************
16958  *    IHTMLCommentElement2 interface
16959  */
16960 [
16961     odl,
16962     oleautomation,
16963     dual,
16964     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
16965 ]
16966 interface IHTMLCommentElement2 : IDispatch
16967 {
16968     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16969     HRESULT data([in] BSTR v);
16970
16971     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
16972     HRESULT data([out, retval] BSTR *p);
16973
16974     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
16975     HRESULT length([out, retval] LONG *p);
16976
16977     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
16978     HRESULT substringData(
16979             [in] LONG offset,
16980             [in] LONG Count,
16981             [out, retval] BSTR *pbstrsubString);
16982
16983     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
16984     HRESULT appendData([in] BSTR bstrstring);
16985
16986     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
16987     HRESULT insertData(
16988             [in] LONG offset,
16989             [in] BSTR bstrstring);
16990
16991     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
16992     HRESULT deleteData(
16993             [in] LONG offset,
16994             [in] LONG Count);
16995
16996     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
16997     HRESULT replaceData(
16998             [in] LONG offset,
16999             [in] LONG Count,
17000             [in] BSTR bstrstring);
17001 }
17002
17003 /*****************************************************************************
17004  *    DispHTMLCommentElement dispinterface
17005  */
17006 [
17007     hidden,
17008     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
17009 ]
17010 dispinterface DispHTMLCommentElement
17011 {
17012 properties:
17013 methods:
17014     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
17015     void setAttribute(
17016             [in] BSTR strAttributeName,
17017             [in] VARIANT AttributeValue,
17018             [in, defaultvalue(1)] LONG lFlags);
17019
17020     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
17021     VARIANT getAttribute(
17022              [in] BSTR strAttributeName,
17023              [in, defaultvalue(0)] LONG lFlags);
17024
17025     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
17026     VARIANT_BOOL removeAttribute(
17027             [in] BSTR strAttributeName,
17028             [in, defaultvalue(1)] LONG lFlags);
17029
17030     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
17031     void className(BSTR v);
17032
17033     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
17034     BSTR className();
17035
17036     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
17037     void id(BSTR v);
17038
17039     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
17040     BSTR id();
17041
17042     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
17043     BSTR tagName();
17044
17045     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
17046     IHTMLElement *parentElement();
17047
17048     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
17049     IHTMLStyle *style();
17050
17051     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
17052     void onhelp(VARIANT v);
17053
17054     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
17055     VARIANT onhelp();
17056
17057     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
17058     void onclick(VARIANT v);
17059
17060     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
17061     VARIANT onclick();
17062
17063     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
17064     void ondblclick(VARIANT v);
17065
17066     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
17067     VARIANT ondblclick();
17068
17069     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
17070     void onkeydown(VARIANT v);
17071
17072     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
17073     VARIANT onkeydown();
17074
17075     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
17076     void onkeyup(VARIANT v);
17077
17078     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
17079     VARIANT onkeyup();
17080
17081     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
17082     void onkeypress(VARIANT v);
17083
17084     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
17085     VARIANT onkeypress();
17086
17087     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
17088     void onmouseout(VARIANT v);
17089
17090     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
17091     VARIANT onmouseout();
17092
17093     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
17094     void onmouseover(VARIANT v);
17095
17096     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
17097     VARIANT onmouseover();
17098
17099     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
17100     void onmousemove(VARIANT v);
17101
17102     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
17103     VARIANT onmousemove();
17104
17105     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
17106     void onmousedown(VARIANT v);
17107
17108     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
17109     VARIANT onmousedown();
17110
17111     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
17112     void onmouseup(VARIANT v);
17113
17114     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
17115     VARIANT onmouseup();
17116
17117     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
17118     IDispatch *document();
17119
17120     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
17121     void title(BSTR v);
17122
17123     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
17124     BSTR title();
17125
17126     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
17127     void language(BSTR v);
17128
17129     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
17130     BSTR language();
17131
17132     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
17133     void onselectstart(VARIANT v);
17134
17135     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
17136     VARIANT onselectstart();
17137
17138     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
17139     void scrollIntoView([in, optional] VARIANT varargStart);
17140
17141     [id(DISPID_IHTMLELEMENT_CONTAINS)]
17142     VARIANT_BOOL contains([in] IHTMLElement *pChild);
17143
17144     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
17145     LONG sourceIndex();
17146
17147     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
17148     VARIANT recordNumber();
17149
17150     [propput, id(DISPID_IHTMLELEMENT_LANG)]
17151     void lang(BSTR v);
17152
17153     [propget, id(DISPID_IHTMLELEMENT_LANG)]
17154     BSTR lang();
17155
17156     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
17157     LONG offsetLeft();
17158
17159     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
17160     LONG offsetTop();
17161
17162     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
17163     LONG offsetWidth();
17164
17165     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
17166     LONG offsetHeight();
17167
17168     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
17169     IHTMLElement *offsetParent();
17170
17171     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
17172     void innerHTML(BSTR v);
17173
17174     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
17175     BSTR innerHTML();
17176
17177     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
17178     void innerText(BSTR v);
17179
17180     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
17181     BSTR innerText();
17182
17183     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
17184     void outerHTML(BSTR v);
17185
17186     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
17187     BSTR outerHTML();
17188
17189     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
17190     void outerText(BSTR v);
17191
17192     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
17193     BSTR outerText();
17194
17195     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
17196     void insertAdjacentHTML(
17197             [in] BSTR where,
17198             [in] BSTR html);
17199
17200     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
17201     void insertAdjacentText(
17202             [in] BSTR where,
17203             [in] BSTR text);
17204
17205     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
17206     IHTMLElement *parentTextEdit();
17207
17208     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
17209     VARIANT_BOOL isTextEdit();
17210
17211     [id(DISPID_IHTMLELEMENT_CLICK)]
17212     void click();
17213
17214     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
17215     IHTMLFiltersCollection *filters();
17216
17217     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
17218     void ondragstart(VARIANT v);
17219
17220     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
17221     VARIANT ondragstart();
17222
17223     [id(DISPID_IHTMLELEMENT_TOSTRING)]
17224     BSTR toString();
17225
17226     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
17227     void onbeforeupdate(VARIANT v);
17228
17229     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
17230     VARIANT onbeforeupdate();
17231
17232     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
17233     void onafterupdate(VARIANT v);
17234
17235     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
17236     VARIANT onafterupdate();
17237
17238     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
17239     void onerrorupdate(VARIANT v);
17240
17241     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
17242     VARIANT onerrorupdate();
17243
17244     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
17245     void onrowexit(VARIANT v);
17246
17247     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
17248     VARIANT onrowexit();
17249
17250     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
17251     void onrowenter(VARIANT v);
17252
17253     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
17254     VARIANT onrowenter();
17255
17256     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
17257     void ondatasetchanged(VARIANT v);
17258
17259     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
17260     VARIANT ondatasetchanged();
17261
17262     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
17263     void ondataavailable(VARIANT v);
17264
17265     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
17266     VARIANT ondataavailable();
17267
17268     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
17269     void ondatasetcomplete(VARIANT v);
17270
17271     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
17272     VARIANT ondatasetcomplete();
17273
17274     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
17275     void onfilterchange(VARIANT v);
17276
17277     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
17278     VARIANT onfilterchange();
17279
17280     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
17281     IDispatch *children();
17282
17283     [propget, id(DISPID_IHTMLELEMENT_ALL)]
17284     IDispatch *all();
17285
17286     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
17287     BSTR scopeName();
17288
17289     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
17290     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
17291
17292     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
17293     void releaseCapture();
17294
17295     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
17296     void onlosecapture(VARIANT v);
17297
17298     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
17299     VARIANT onlosecapture();
17300
17301     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
17302     BSTR componentFromPoint(
17303             [in] LONG x,
17304             [in] LONG y);
17305
17306     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
17307     void doScroll([in, optional] VARIANT component);
17308
17309     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
17310     void onscroll(VARIANT v);
17311
17312     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
17313     VARIANT onscroll();
17314
17315     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
17316     void ondrag(VARIANT v);
17317
17318     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
17319     VARIANT ondrag();
17320
17321     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
17322     void ondragend(VARIANT v);
17323
17324     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
17325     VARIANT ondragend();
17326
17327     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
17328     void ondragenter(VARIANT v);
17329
17330     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
17331     VARIANT ondragenter();
17332
17333     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
17334     void ondragover(VARIANT v);
17335
17336     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
17337     VARIANT ondragover();
17338
17339     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
17340     void ondragleave(VARIANT v);
17341
17342     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
17343     VARIANT ondragleave();
17344
17345     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
17346     void ondrop(VARIANT v);
17347
17348     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
17349     VARIANT ondrop();
17350
17351     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
17352     void onbeforecut(VARIANT v);
17353
17354     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
17355     VARIANT onbeforecut();
17356
17357     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
17358     void oncut(VARIANT v);
17359
17360     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
17361     VARIANT oncut();
17362
17363     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
17364     void onbeforecopy(VARIANT v);
17365
17366     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
17367     VARIANT onbeforecopy();
17368
17369     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
17370     void oncopy(VARIANT v);
17371
17372     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
17373     VARIANT oncopy();
17374
17375     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
17376     void onbeforepaste(VARIANT v);
17377
17378     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
17379     VARIANT onbeforepaste();
17380
17381     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
17382     void onpaste(VARIANT v);
17383
17384     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
17385     VARIANT onpaste();
17386
17387     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
17388     IHTMLCurrentStyle *currentStyle();
17389
17390     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
17391     void onpropertychange(VARIANT v);
17392
17393     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
17394     VARIANT onpropertychange();
17395
17396     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
17397     IHTMLRectCollection *getClientRects();
17398
17399     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
17400     IHTMLRect *getBoundingClientRect();
17401
17402     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
17403     void setExpression(
17404             [in] BSTR propname,
17405             [in] BSTR expression,
17406             [in, defaultvalue("")] BSTR language);
17407
17408     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
17409     VARIANT getExpression([in] BSTR propname);
17410
17411     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
17412     VARIANT_BOOL removeExpression([in] BSTR propname);
17413
17414     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
17415     void tabIndex(short v);
17416
17417     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
17418     short tabIndex();
17419
17420     [id(DISPID_IHTMLELEMENT2_FOCUS)]
17421     void focus();
17422
17423     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
17424     void accessKey(BSTR v);
17425
17426     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
17427     BSTR accessKey();
17428
17429     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
17430     void onblur(VARIANT v);
17431
17432     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
17433     VARIANT onblur();
17434
17435     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
17436     void onfocus(VARIANT v);
17437
17438     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
17439     VARIANT onfocus();
17440
17441     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17442     void onresize(VARIANT v);
17443
17444     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
17445     VARIANT onresize();
17446
17447     [id(DISPID_IHTMLELEMENT2_BLUR)]
17448     void blur();
17449
17450     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
17451     void addFilter([in] IUnknown *pUnk);
17452
17453     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
17454     void removeFilter([in] IUnknown *pUnk);
17455
17456     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
17457     LONG clientHeight();
17458
17459     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
17460     LONG clientWidth();
17461
17462     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
17463     LONG clientTop();
17464
17465     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
17466     LONG clientLeft();
17467
17468     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
17469     VARIANT_BOOL attachEvent(
17470             [in] BSTR event,
17471             [in] IDispatch *pDisp);
17472
17473     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
17474     void detachEvent(
17475             [in] BSTR event,
17476             [in] IDispatch *pDisp);
17477
17478     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
17479     VARIANT readyState();
17480
17481     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17482     void onreadystatechange(VARIANT v);
17483
17484     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
17485     VARIANT onreadystatechange();
17486
17487     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17488     void onrowsdelete(VARIANT v);
17489
17490     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
17491     VARIANT onrowsdelete();
17492
17493     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17494     void onrowsinserted(VARIANT v);
17495
17496     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
17497      VARIANT onrowsinserted();
17498
17499     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17500      void oncellchange(VARIANT v);
17501
17502     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
17503     VARIANT oncellchange();
17504
17505     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17506     void dir(BSTR v);
17507
17508     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
17509     BSTR dir();
17510
17511     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
17512     IDispatch *createControlRange();
17513
17514     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
17515     LONG scrollHeight();
17516
17517     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
17518     LONG scrollWidth();
17519
17520     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17521     void scrollTop(LONG v);
17522
17523     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
17524     LONG scrollTop();
17525
17526     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17527     void scrollLeft(LONG v);
17528
17529     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
17530     LONG scrollLeft();
17531
17532     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
17533     void clearAttributes();
17534
17535     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17536     void oncontextmenu(VARIANT v);
17537
17538     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
17539     VARIANT oncontextmenu();
17540
17541     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
17542     IHTMLElement *insertAdjacentElement(
17543             [in] BSTR where,
17544             [in] IHTMLElement *insertedElement);
17545
17546     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
17547     IHTMLElement *applyElement(
17548             [in] IHTMLElement *apply,
17549             [in] BSTR where);
17550
17551     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
17552     BSTR getAdjacentText([in] BSTR where);
17553
17554     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
17555     BSTR replaceAdjacentText(
17556             [in] BSTR where,
17557             [in] BSTR newText);
17558
17559     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
17560     VARIANT_BOOL canHaveChildren();
17561
17562     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
17563     LONG addBehavior(
17564             [in] BSTR bstrUrl,
17565             [in, optional] VARIANT *pvarFactory);
17566
17567     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
17568     VARIANT_BOOL removeBehavior([in] LONG cookie);
17569
17570     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
17571     IHTMLStyle *runtimeStyle();
17572
17573     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
17574     IDispatch *behaviorUrns();
17575
17576     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
17577     void tagUrn(BSTR v);
17578
17579     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
17580     BSTR tagUrn();
17581
17582     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17583     void onbeforeeditfocus(VARIANT v);
17584
17585     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
17586     VARIANT onbeforeeditfocus();
17587
17588     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
17589     LONG readyStateValue();
17590
17591     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
17592     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
17593
17594     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
17595     void mergeAttributes(
17596             [in] IHTMLElement *mergeThis,
17597             [in, optional] VARIANT *pvarFlags);
17598
17599     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
17600     VARIANT_BOOL isMultiLine();
17601
17602     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
17603     VARIANT_BOOL canHaveHTML();
17604
17605     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17606     void onlayoutcomplete(VARIANT v);
17607
17608     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
17609     VARIANT onlayoutcomplete();
17610
17611     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17612     void onpage(VARIANT v);
17613
17614     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
17615     VARIANT onpage();
17616
17617     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17618     void inflateBlock(VARIANT_BOOL v);
17619
17620     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
17621     VARIANT_BOOL inflateBlock();
17622
17623     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17624     void onbeforedeactivate(VARIANT v);
17625
17626     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
17627     VARIANT onbeforedeactivate();
17628
17629     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
17630     void setActive();
17631
17632     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
17633     void contentEditable(BSTR v);
17634
17635     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
17636     BSTR contentEditable();
17637
17638     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
17639     VARIANT_BOOL isContentEditable();
17640
17641     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17642     void hideFocus(VARIANT_BOOL v);
17643
17644     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
17645     VARIANT_BOOL hideFocus();
17646
17647     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17648     void disabled(VARIANT_BOOL v);
17649
17650     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
17651     VARIANT_BOOL disabled();
17652
17653     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
17654     VARIANT_BOOL isDisabled();
17655
17656     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17657     void onmove(VARIANT v);
17658
17659     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
17660     VARIANT onmove();
17661
17662     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17663     void oncontrolselect(VARIANT v);
17664
17665     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
17666     VARIANT oncontrolselect();
17667
17668     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
17669     VARIANT_BOOL fireEvent(
17670             [in] BSTR bstrEventName,
17671             [in, optional] VARIANT *pvarEventObject);
17672
17673     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17674     void onresizestart(VARIANT v);
17675
17676     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
17677     VARIANT onresizestart();
17678
17679     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17680     void onresizeend(VARIANT v);
17681
17682     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
17683     VARIANT onresizeend();
17684
17685     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
17686     void onmovestart(VARIANT v);
17687
17688     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
17689     VARIANT onmovestart();
17690
17691     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
17692     void onmoveend(VARIANT v);
17693
17694     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
17695     VARIANT onmoveend();
17696
17697     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
17698     void onmouseenter(VARIANT v);
17699
17700     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
17701     VARIANT onmouseenter();
17702
17703     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
17704     void onmouseleave(VARIANT v);
17705
17706     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
17707     VARIANT onmouseleave();
17708
17709     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
17710     void onactivate(VARIANT v);
17711
17712     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
17713     VARIANT onactivate();
17714
17715     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
17716     void ondeactivate(VARIANT v);
17717
17718     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
17719     VARIANT ondeactivate();
17720
17721     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
17722     VARIANT_BOOL dragDrop();
17723
17724     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
17725     LONG glyphMode();
17726
17727     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
17728     void onmousewheel(VARIANT v);
17729
17730     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
17731     VARIANT onmousewheel();
17732
17733     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
17734     void normalize();
17735
17736     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
17737     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
17738
17739     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
17740     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
17741
17742     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
17743     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
17744
17745     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
17746     void onbeforeactivate(VARIANT v);
17747
17748     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
17749     VARIANT onbeforeactivate();
17750
17751     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
17752     void onfocusin(VARIANT v);
17753
17754     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
17755     VARIANT onfocusin();
17756
17757     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
17758     void onfocusout(VARIANT v);
17759
17760     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
17761     VARIANT onfocusout();
17762
17763     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
17764     LONG uniqueNumber();
17765
17766     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
17767     BSTR uniqueID();
17768
17769     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
17770     LONG nodeType();
17771
17772     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
17773     IHTMLDOMNode *parentNode();
17774
17775     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
17776     VARIANT_BOOL hasChildNodes();
17777
17778     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
17779     IDispatch *childNodes();
17780
17781     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
17782     IDispatch *attributes();
17783
17784     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
17785     IHTMLDOMNode *insertBefore(
17786             [in] IHTMLDOMNode *newChild,
17787             [in, optional] VARIANT refChild);
17788
17789     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
17790     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
17791
17792     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
17793     IHTMLDOMNode *replaceChild(
17794             [in] IHTMLDOMNode *newChild,
17795             [in] IHTMLDOMNode *oldChild);
17796
17797     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
17798     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
17799
17800     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
17801     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
17802
17803     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
17804     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
17805
17806     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
17807     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
17808
17809     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
17810     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
17811
17812     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
17813     BSTR nodeName();
17814
17815     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17816     void nodeValue(VARIANT v);
17817
17818     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
17819     VARIANT nodeValue();
17820
17821     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
17822     IHTMLDOMNode *firstChild();
17823
17824     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
17825     IHTMLDOMNode *lastChild();
17826
17827     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
17828     IHTMLDOMNode *previousSibling();
17829
17830     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
17831     IHTMLDOMNode *nextSibling();
17832
17833     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
17834     IDispatch *ownerDocument();
17835
17836     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
17837     void text(BSTR v);
17838
17839     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
17840     BSTR text();
17841
17842     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
17843     void atomic(LONG v);
17844
17845     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
17846     LONG atomic();
17847
17848     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
17849     void data(BSTR v);
17850
17851     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
17852     BSTR data();
17853
17854     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
17855     LONG length();
17856
17857     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
17858     BSTR substringData(
17859             [in] LONG offset,
17860             [in] LONG Count);
17861
17862     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
17863     void appendData([in] BSTR bstrstring);
17864
17865     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
17866      void insertData(
17867             [in] LONG offset,
17868             [in] BSTR bstrstring);
17869
17870     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
17871     void deleteData(
17872             [in] LONG offset,
17873             [in] LONG Count);
17874
17875     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
17876     void replaceData(
17877             [in] LONG offset,
17878             [in] LONG Count,
17879             [in] BSTR bstrstring);
17880 }
17881
17882 [
17883     hidden,
17884     uuid(3050f60f-98b5-11cf-bb82-00aa00bdce0b)
17885 ]
17886 dispinterface HTMLElementEvents2
17887 {
17888 properties:
17889 methods:
17890     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
17891     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
17892
17893     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
17894     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
17895
17896     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
17897     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
17898
17899     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
17900     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
17901
17902     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
17903     void onkeydown([in] IHTMLEventObj* pEvtObj);
17904
17905     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
17906     void onkeyup([in] IHTMLEventObj* pEvtObj);
17907
17908     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
17909     void onmouseout([in] IHTMLEventObj* pEvtObj);
17910
17911     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
17912     void onmouseover([in] IHTMLEventObj* pEvtObj);
17913
17914     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
17915     void onmousemove([in] IHTMLEventObj* pEvtObj);
17916
17917     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
17918     void onmousedown([in] IHTMLEventObj* pEvtObj);
17919
17920     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
17921     void onmouseup([in] IHTMLEventObj* pEvtObj);
17922
17923     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
17924     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
17925
17926     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
17927     void onfilterchange([in] IHTMLEventObj* pEvtObj);
17928
17929     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
17930     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
17931
17932     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
17933     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
17934
17935     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
17936     void onafterupdate([in] IHTMLEventObj* pEvtObj);
17937
17938     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
17939     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
17940
17941     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
17942     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
17943
17944     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
17945     void onrowenter([in] IHTMLEventObj* pEvtObj);
17946
17947     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
17948     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
17949
17950     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
17951     void ondataavailable([in] IHTMLEventObj* pEvtObj);
17952
17953     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
17954     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
17955
17956     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
17957     void onlosecapture([in] IHTMLEventObj* pEvtObj);
17958
17959     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
17960     void onpropertychange([in] IHTMLEventObj* pEvtObj);
17961
17962     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
17963     void onscroll([in] IHTMLEventObj* pEvtObj);
17964
17965     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
17966     void onfocus([in] IHTMLEventObj* pEvtObj);
17967
17968     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
17969     void onblur([in] IHTMLEventObj* pEvtObj);
17970
17971     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
17972     void onresize([in] IHTMLEventObj* pEvtObj);
17973
17974     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
17975     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
17976
17977     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
17978     void ondragend([in] IHTMLEventObj* pEvtObj);
17979
17980     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
17981     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
17982
17983     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
17984     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
17985
17986     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
17987     void ondragleave([in] IHTMLEventObj* pEvtObj);
17988
17989     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
17990     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
17991
17992     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
17993     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
17994
17995     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
17996     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
17997
17998     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
17999     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
18000
18001     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
18002     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
18003
18004     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
18005     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
18006
18007     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
18008     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
18009
18010     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
18011     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
18012
18013     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
18014     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
18015
18016     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
18017     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
18018
18019     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
18020     void oncellchange([in] IHTMLEventObj* pEvtObj);
18021
18022     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
18023     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
18024
18025     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
18026     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
18027
18028     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
18029     void onpage([in] IHTMLEventObj* pEvtObj);
18030
18031     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
18032     void onmouseenter([in] IHTMLEventObj* pEvtObj);
18033
18034     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
18035     void onmouseleave([in] IHTMLEventObj* pEvtObj);
18036
18037     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
18038     void onactivate([in] IHTMLEventObj* pEvtObj);
18039
18040     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
18041     void ondeactivate([in] IHTMLEventObj* pEvtObj);
18042
18043     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
18044     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
18045
18046     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
18047     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
18048
18049     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
18050     void onfocusin([in] IHTMLEventObj* pEvtObj);
18051
18052     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
18053     void onfocusout([in] IHTMLEventObj* pEvtObj);
18054
18055     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
18056     void onmove([in] IHTMLEventObj* pEvtObj);
18057
18058     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
18059     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
18060
18061     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
18062     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
18063
18064     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
18065     void onmoveend([in] IHTMLEventObj* pEvtObj);
18066
18067     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
18068     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
18069
18070     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
18071     void onresizeend([in] IHTMLEventObj* pEvtObj);
18072
18073     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
18074     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
18075 };
18076 [
18077     hidden,
18078     uuid(3050f33c-98b5-11cf-bb82-00aa00bdce0b)
18079 ]
18080 dispinterface HTMLElementEvents
18081 {
18082 properties:
18083 methods:
18084     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
18085     VARIANT_BOOL onhelp();
18086
18087     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
18088     VARIANT_BOOL onclick();
18089
18090     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
18091     VARIANT_BOOL ondblclick();
18092
18093     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
18094     VARIANT_BOOL onkeypress();
18095
18096     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
18097     void onkeydown();
18098
18099     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
18100     void onkeyup();
18101
18102     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
18103     void onmouseout();
18104
18105     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
18106     void onmouseover();
18107
18108     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
18109     void onmousemove();
18110
18111     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
18112     void onmousedown();
18113
18114     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
18115     void onmouseup();
18116
18117     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
18118     VARIANT_BOOL onselectstart();
18119
18120     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
18121     void onfilterchange();
18122
18123     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
18124     VARIANT_BOOL ondragstart();
18125
18126     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
18127     VARIANT_BOOL onbeforeupdate();
18128
18129     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
18130     void onafterupdate();
18131
18132     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
18133     VARIANT_BOOL onerrorupdate();
18134
18135     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
18136     VARIANT_BOOL onrowexit();
18137
18138     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
18139     void onrowenter();
18140
18141     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
18142     void ondatasetchanged();
18143
18144     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
18145     void ondataavailable();
18146
18147     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
18148     void ondatasetcomplete();
18149
18150     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
18151     void onlosecapture();
18152
18153     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
18154     void onpropertychange();
18155
18156     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
18157     void onscroll();
18158
18159     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
18160     void onfocus();
18161
18162     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
18163     void onblur();
18164
18165     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
18166     void onresize();
18167
18168     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
18169     VARIANT_BOOL ondrag();
18170
18171     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
18172     void ondragend();
18173
18174     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
18175     VARIANT_BOOL ondragenter();
18176
18177     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
18178     VARIANT_BOOL ondragover();
18179
18180     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
18181     void ondragleave();
18182
18183     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
18184     VARIANT_BOOL ondrop();
18185
18186     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
18187     VARIANT_BOOL onbeforecut();
18188
18189     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
18190     VARIANT_BOOL oncut();
18191
18192     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
18193     VARIANT_BOOL onbeforecopy();
18194
18195     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
18196     VARIANT_BOOL oncopy();
18197
18198     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
18199     VARIANT_BOOL onbeforepaste();
18200
18201     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
18202     VARIANT_BOOL onpaste();
18203
18204     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
18205     VARIANT_BOOL oncontextmenu();
18206
18207     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
18208     void onrowsdelete();
18209
18210     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
18211     void onrowsinserted();
18212
18213     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
18214     void oncellchange();
18215
18216     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
18217     void onreadystatechange();
18218
18219     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
18220     void onbeforeeditfocus();
18221
18222     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
18223     void onlayoutcomplete();
18224
18225     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
18226     void onpage();
18227
18228     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
18229     VARIANT_BOOL onbeforedeactivate();
18230
18231     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
18232     VARIANT_BOOL onbeforeactivate();
18233
18234     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
18235     void onmove();
18236
18237     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
18238     VARIANT_BOOL oncontrolselect();
18239
18240     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
18241     VARIANT_BOOL onmovestart();
18242
18243     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
18244     void onmoveend();
18245
18246     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
18247     VARIANT_BOOL onresizestart();
18248
18249     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
18250     void onresizeend();
18251
18252     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
18253     void onmouseenter();
18254
18255     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
18256     void onmouseleave();
18257
18258     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
18259     VARIANT_BOOL onmousewheel();
18260
18261     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
18262     void onactivate();
18263
18264     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
18265     void ondeactivate();
18266
18267     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
18268     void onfocusin();
18269
18270     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
18271     void onfocusout();
18272
18273 };
18274
18275 [
18276     noncreatable,
18277     uuid(3050f317-98b5-11cf-bb82-00aa00bdce0b)
18278 ]
18279 coclass HTMLCommentElement
18280 {
18281     [default]           dispinterface DispHTMLCommentElement;
18282     [source, default]   dispinterface HTMLElementEvents;
18283     [source]            dispinterface HTMLElementEvents2;
18284                         interface IHTMLElement;
18285                         interface IHTMLElement2;
18286                         interface IHTMLElement3;
18287                         interface IHTMLElement4;
18288                         interface IHTMLUniqueName;
18289                         interface IHTMLDOMNode;
18290                         interface IHTMLDOMNode2;
18291                         interface IHTMLCommentElement;
18292                         interface IHTMLCommentElement2;
18293 }
18294
18295 /*****************************************************************************
18296  *    HTMLTableEvents dispinterface
18297  */
18298 [
18299     hidden,
18300     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
18301 ]
18302 dispinterface HTMLTableEvents
18303 {
18304 properties:
18305 methods:
18306     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
18307     VARIANT_BOOL onhelp();
18308
18309     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
18310     VARIANT_BOOL onclick();
18311
18312     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
18313     VARIANT_BOOL ondblclick();
18314
18315     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
18316     VARIANT_BOOL onkeypress();
18317
18318     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
18319     void onkeydown();
18320
18321     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
18322     void onkeyup();
18323
18324     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
18325     void onmouseout();
18326
18327     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
18328     void onmouseover();
18329
18330     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
18331     void onmousemove();
18332
18333     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
18334     void onmousedown();
18335
18336     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
18337     void onmouseup();
18338
18339     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
18340     VARIANT_BOOL onselectstart();
18341
18342     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
18343     void onfilterchange();
18344
18345     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
18346     VARIANT_BOOL ondragstart();
18347
18348     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
18349     VARIANT_BOOL onbeforeupdate();
18350
18351     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
18352     void onafterupdate();
18353
18354     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
18355     VARIANT_BOOL onerrorupdate();
18356
18357     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
18358     VARIANT_BOOL onrowexit();
18359
18360     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
18361     void onrowenter();
18362
18363     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
18364     void ondatasetchanged();
18365
18366     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
18367     void ondataavailable();
18368
18369     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
18370     void ondatasetcomplete();
18371
18372     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
18373     void onlosecapture();
18374
18375     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
18376     void onpropertychange();
18377
18378     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
18379     void onscroll();
18380
18381     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
18382     void onfocus();
18383
18384     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
18385     void onblur();
18386
18387     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
18388     void onresize();
18389
18390     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
18391     VARIANT_BOOL ondrag();
18392
18393     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
18394     void ondragend();
18395
18396     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
18397     VARIANT_BOOL ondragenter();
18398
18399     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
18400     VARIANT_BOOL ondragover();
18401
18402     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
18403     void ondragleave();
18404
18405     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
18406     VARIANT_BOOL ondrop();
18407
18408     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
18409     VARIANT_BOOL onbeforecut();
18410
18411     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
18412     VARIANT_BOOL oncut();
18413
18414     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
18415     VARIANT_BOOL onbeforecopy();
18416
18417     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
18418     VARIANT_BOOL oncopy();
18419
18420     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
18421     VARIANT_BOOL onbeforepaste();
18422
18423     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
18424     VARIANT_BOOL onpaste();
18425
18426     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
18427     VARIANT_BOOL oncontextmenu();
18428
18429     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
18430     void onrowsdelete();
18431
18432     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
18433     void onrowsinserted();
18434
18435     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
18436     void oncellchange();
18437
18438     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
18439     void onreadystatechange();
18440
18441     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
18442     void onbeforeeditfocus();
18443
18444     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
18445     void onlayoutcomplete();
18446
18447     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
18448     void onpage();
18449
18450     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
18451     VARIANT_BOOL onbeforedeactivate();
18452
18453     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
18454     VARIANT_BOOL onbeforeactivate();
18455
18456     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
18457     void onmove();
18458
18459     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
18460     VARIANT_BOOL oncontrolselect();
18461
18462     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
18463     VARIANT_BOOL onmovestart();
18464
18465     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
18466     void onmoveend();
18467
18468     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
18469     VARIANT_BOOL onresizestart();
18470
18471     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
18472     void onresizeend();
18473
18474     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
18475     void onmouseenter();
18476
18477     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
18478     void onmouseleave();
18479
18480     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
18481     VARIANT_BOOL onmousewheel();
18482
18483     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
18484     void onactivate();
18485
18486     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
18487     void ondeactivate();
18488
18489     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
18490     void onfocusin();
18491
18492     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
18493     void onfocusout();
18494 }
18495
18496 [
18497     hidden,
18498     uuid(3050f623-98b5-11cf-bb82-00aa00bdce0b)
18499 ]
18500 dispinterface HTMLTableEvents2
18501 {
18502 properties:
18503 methods:
18504     [id(DISPID_HTMLELEMENTEVENTS2_ONHELP)]
18505     VARIANT_BOOL onhelp([in] IHTMLEventObj* pEvtObj);
18506
18507     [id(DISPID_HTMLELEMENTEVENTS2_ONCLICK)]
18508     VARIANT_BOOL onclick([in] IHTMLEventObj* pEvtObj);
18509
18510     [id(DISPID_HTMLELEMENTEVENTS2_ONDBLCLICK)]
18511     VARIANT_BOOL ondblclick([in] IHTMLEventObj* pEvtObj);
18512
18513     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYPRESS)]
18514     VARIANT_BOOL onkeypress([in] IHTMLEventObj* pEvtObj);
18515
18516     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN)]
18517     void onkeydown([in] IHTMLEventObj* pEvtObj);
18518
18519     [id(DISPID_HTMLELEMENTEVENTS2_ONKEYUP)]
18520     void onkeyup([in] IHTMLEventObj* pEvtObj);
18521
18522     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOUT)]
18523     void onmouseout([in] IHTMLEventObj* pEvtObj);
18524
18525     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER)]
18526     void onmouseover([in] IHTMLEventObj* pEvtObj);
18527
18528     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEMOVE)]
18529     void onmousemove([in] IHTMLEventObj* pEvtObj);
18530
18531     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEDOWN)]
18532     void onmousedown([in] IHTMLEventObj* pEvtObj);
18533
18534     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEUP)]
18535     void onmouseup([in] IHTMLEventObj* pEvtObj);
18536
18537     [id(DISPID_HTMLELEMENTEVENTS2_ONSELECTSTART)]
18538     VARIANT_BOOL onselectstart([in] IHTMLEventObj* pEvtObj);
18539
18540     [id(DISPID_HTMLELEMENTEVENTS2_ONFILTERCHANGE)]
18541     void onfilterchange([in] IHTMLEventObj* pEvtObj);
18542
18543     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGSTART)]
18544     VARIANT_BOOL ondragstart([in] IHTMLEventObj* pEvtObj);
18545
18546     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREUPDATE)]
18547     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj* pEvtObj);
18548
18549     [id(DISPID_HTMLELEMENTEVENTS2_ONAFTERUPDATE)]
18550     void onafterupdate([in] IHTMLEventObj* pEvtObj);
18551
18552     [id(DISPID_HTMLELEMENTEVENTS2_ONERRORUPDATE)]
18553     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj* pEvtObj);
18554
18555     [id(DISPID_HTMLELEMENTEVENTS2_ONROWEXIT)]
18556     VARIANT_BOOL onrowexit([in] IHTMLEventObj* pEvtObj);
18557
18558     [id(DISPID_HTMLELEMENTEVENTS2_ONROWENTER)]
18559     void onrowenter([in] IHTMLEventObj* pEvtObj);
18560
18561     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCHANGED)]
18562     void ondatasetchanged([in] IHTMLEventObj* pEvtObj);
18563
18564     [id(DISPID_HTMLELEMENTEVENTS2_ONDATAAVAILABLE)]
18565     void ondataavailable([in] IHTMLEventObj* pEvtObj);
18566
18567     [id(DISPID_HTMLELEMENTEVENTS2_ONDATASETCOMPLETE)]
18568     void ondatasetcomplete([in] IHTMLEventObj* pEvtObj);
18569
18570     [id(DISPID_HTMLELEMENTEVENTS2_ONLOSECAPTURE)]
18571     void onlosecapture([in] IHTMLEventObj* pEvtObj);
18572
18573     [id(DISPID_HTMLELEMENTEVENTS2_ONPROPERTYCHANGE)]
18574     void onpropertychange([in] IHTMLEventObj* pEvtObj);
18575
18576     [id(DISPID_HTMLELEMENTEVENTS2_ONSCROLL)]
18577     void onscroll([in] IHTMLEventObj* pEvtObj);
18578
18579     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUS)]
18580     void onfocus([in] IHTMLEventObj* pEvtObj);
18581
18582     [id(DISPID_HTMLELEMENTEVENTS2_ONBLUR)]
18583     void onblur([in] IHTMLEventObj* pEvtObj);
18584
18585     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZE)]
18586     void onresize([in] IHTMLEventObj* pEvtObj);
18587
18588     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAG)]
18589     VARIANT_BOOL ondrag([in] IHTMLEventObj* pEvtObj);
18590
18591     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGEND)]
18592     void ondragend([in] IHTMLEventObj* pEvtObj);
18593
18594     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGENTER)]
18595     VARIANT_BOOL ondragenter([in] IHTMLEventObj* pEvtObj);
18596
18597     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGOVER)]
18598     VARIANT_BOOL ondragover([in] IHTMLEventObj* pEvtObj);
18599
18600     [id(DISPID_HTMLELEMENTEVENTS2_ONDRAGLEAVE)]
18601     void ondragleave([in] IHTMLEventObj* pEvtObj);
18602
18603     [id(DISPID_HTMLELEMENTEVENTS2_ONDROP)]
18604     VARIANT_BOOL ondrop([in] IHTMLEventObj* pEvtObj);
18605
18606     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECUT)]
18607     VARIANT_BOOL onbeforecut([in] IHTMLEventObj* pEvtObj);
18608
18609     [id(DISPID_HTMLELEMENTEVENTS2_ONCUT)]
18610     VARIANT_BOOL oncut([in] IHTMLEventObj* pEvtObj);
18611
18612     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFORECOPY)]
18613     VARIANT_BOOL onbeforecopy([in] IHTMLEventObj* pEvtObj);
18614
18615     [id(DISPID_HTMLELEMENTEVENTS2_ONCOPY)]
18616     VARIANT_BOOL oncopy([in] IHTMLEventObj* pEvtObj);
18617
18618     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREPASTE)]
18619     VARIANT_BOOL onbeforepaste([in] IHTMLEventObj* pEvtObj);
18620
18621     [id(DISPID_HTMLELEMENTEVENTS2_ONPASTE)]
18622     VARIANT_BOOL onpaste([in] IHTMLEventObj* pEvtObj);
18623
18624     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTEXTMENU)]
18625     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj* pEvtObj);
18626
18627     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSDELETE)]
18628     void onrowsdelete([in] IHTMLEventObj* pEvtObj);
18629
18630     [id(DISPID_HTMLELEMENTEVENTS2_ONROWSINSERTED)]
18631     void onrowsinserted([in] IHTMLEventObj* pEvtObj);
18632
18633     [id(DISPID_HTMLELEMENTEVENTS2_ONCELLCHANGE)]
18634     void oncellchange([in] IHTMLEventObj* pEvtObj);
18635
18636     [id(DISPID_HTMLELEMENTEVENTS2_ONREADYSTATECHANGE)]
18637     void onreadystatechange([in] IHTMLEventObj* pEvtObj);
18638
18639     [id(DISPID_HTMLELEMENTEVENTS2_ONLAYOUTCOMPLETE)]
18640     void onlayoutcomplete([in] IHTMLEventObj* pEvtObj);
18641
18642     [id(DISPID_HTMLELEMENTEVENTS2_ONPAGE)]
18643     void onpage([in] IHTMLEventObj* pEvtObj);
18644
18645     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEENTER)]
18646     void onmouseenter([in] IHTMLEventObj* pEvtObj);
18647
18648     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSELEAVE)]
18649     void onmouseleave([in] IHTMLEventObj* pEvtObj);
18650
18651     [id(DISPID_HTMLELEMENTEVENTS2_ONACTIVATE)]
18652     void onactivate([in] IHTMLEventObj* pEvtObj);
18653
18654     [id(DISPID_HTMLELEMENTEVENTS2_ONDEACTIVATE)]
18655     void ondeactivate([in] IHTMLEventObj* pEvtObj);
18656
18657     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREDEACTIVATE)]
18658     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj* pEvtObj);
18659
18660     [id(DISPID_HTMLELEMENTEVENTS2_ONBEFOREACTIVATE)]
18661     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj* pEvtObj);
18662
18663     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSIN)]
18664     void onfocusin([in] IHTMLEventObj* pEvtObj);
18665
18666     [id(DISPID_HTMLELEMENTEVENTS2_ONFOCUSOUT)]
18667     void onfocusout([in] IHTMLEventObj* pEvtObj);
18668
18669     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVE)]
18670     void onmove([in] IHTMLEventObj* pEvtObj);
18671
18672     [id(DISPID_HTMLELEMENTEVENTS2_ONCONTROLSELECT)]
18673     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj* pEvtObj);
18674
18675     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVESTART)]
18676     VARIANT_BOOL onmovestart([in] IHTMLEventObj* pEvtObj);
18677
18678     [id(DISPID_HTMLELEMENTEVENTS2_ONMOVEEND)]
18679     void onmoveend([in] IHTMLEventObj* pEvtObj);
18680
18681     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZESTART)]
18682     VARIANT_BOOL onresizestart([in] IHTMLEventObj* pEvtObj);
18683
18684     [id(DISPID_HTMLELEMENTEVENTS2_ONRESIZEEND)]
18685     void onresizeend([in] IHTMLEventObj* pEvtObj);
18686
18687     [id(DISPID_HTMLELEMENTEVENTS2_ONMOUSEWHEEL)]
18688     VARIANT_BOOL onmousewheel([in] IHTMLEventObj* pEvtObj);
18689 };
18690
18691 /*****************************************************************************
18692  *    IHTMLTableCaption interface
18693  */
18694 [
18695     odl,
18696     oleautomation,
18697     dual,
18698     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
18699 ]
18700 interface IHTMLTableCaption : IDispatch
18701 {
18702     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
18703     HRESULT align([in] BSTR v);
18704
18705     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
18706     HRESULT align([retval, out] BSTR *p);
18707
18708     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
18709     HRESULT vAlign([in] BSTR v);
18710
18711     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
18712     HRESULT vAlign([retval, out] BSTR *p);
18713 }
18714
18715 interface IHTMLTableSection;
18716
18717 /*****************************************************************************
18718  *    IHTMLTable interface
18719  */
18720 [
18721     odl,
18722     oleautomation,
18723     dual,
18724     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
18725 ]
18726 interface IHTMLTable : IDispatch
18727 {
18728     [propput, id(DISPID_IHTMLTABLE_COLS)]
18729     HRESULT cols([in] LONG v);
18730
18731     [propget, id(DISPID_IHTMLTABLE_COLS)]
18732     HRESULT cols([retval, out] LONG *p);
18733
18734     [propput, id(DISPID_IHTMLTABLE_BORDER)]
18735     HRESULT border([in] VARIANT v);
18736
18737     [propget, id(DISPID_IHTMLTABLE_BORDER)]
18738     HRESULT border([retval, out] VARIANT *p);
18739
18740     [propput, id(DISPID_IHTMLTABLE_FRAME)]
18741     HRESULT frame([in] BSTR v);
18742
18743     [propget, id(DISPID_IHTMLTABLE_FRAME)]
18744     HRESULT frame([retval, out] BSTR *p);
18745
18746     [propput, id(DISPID_IHTMLTABLE_RULES)]
18747     HRESULT rules([in] BSTR v);
18748
18749     [propget, id(DISPID_IHTMLTABLE_RULES)]
18750     HRESULT rules([retval, out] BSTR *p);
18751
18752     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
18753     HRESULT cellSpacing([in] VARIANT v);
18754
18755     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
18756     HRESULT cellSpacing([retval, out] VARIANT *p);
18757
18758     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
18759     HRESULT cellPadding([in] VARIANT v);
18760
18761     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
18762     HRESULT cellPadding([retval, out] VARIANT *p);
18763
18764     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
18765     HRESULT background([in] BSTR v);
18766
18767     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
18768     HRESULT background([retval, out] BSTR *p);
18769
18770     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
18771     HRESULT bgColor([in] VARIANT v);
18772
18773     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
18774     HRESULT bgColor([retval, out] VARIANT *p);
18775
18776     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18777     HRESULT borderColor([in] VARIANT v);
18778
18779     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
18780     HRESULT borderColor([retval, out] VARIANT *p);
18781
18782     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18783     HRESULT borderColorLight([in] VARIANT v);
18784
18785     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
18786     HRESULT borderColorLight([retval, out] VARIANT *p);
18787
18788     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18789     HRESULT borderColorDark([in] VARIANT v);
18790
18791     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
18792     HRESULT borderColorDark([retval, out] VARIANT *p);
18793
18794     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
18795     HRESULT align([in] BSTR v);
18796
18797     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
18798     HRESULT align([retval, out] BSTR * p);
18799
18800     [id(DISPID_IHTMLTABLE_REFRESH)]
18801     HRESULT refresh();
18802
18803     [propget, id(DISPID_IHTMLTABLE_ROWS)]
18804     HRESULT rows([retval, out] IHTMLElementCollection **p);
18805
18806     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
18807     HRESULT width([in] VARIANT v);
18808
18809     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
18810     HRESULT width([retval, out] VARIANT *p);
18811
18812     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
18813     HRESULT height([in] VARIANT v);
18814
18815     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
18816     HRESULT height([retval, out] VARIANT *p);
18817
18818     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18819     HRESULT dataPageSize([in] LONG v);
18820
18821     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
18822     HRESULT dataPageSize([retval, out] LONG *p);
18823
18824     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
18825     HRESULT nextPage();
18826
18827     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
18828     HRESULT previousPage();
18829
18830     [propget, id(DISPID_IHTMLTABLE_THEAD)]
18831     HRESULT tHead([retval, out] IHTMLTableSection **p);
18832
18833     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
18834     HRESULT tFoot([retval, out] IHTMLTableSection **p);
18835
18836     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
18837     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
18838
18839     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
18840     HRESULT caption([retval, out] IHTMLTableCaption **p);
18841
18842     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
18843     HRESULT createTHead([retval, out] IDispatch **head);
18844
18845     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
18846     HRESULT deleteTHead();
18847
18848     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
18849     HRESULT createTFoot([retval, out] IDispatch **foot);
18850
18851     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
18852     HRESULT deleteTFoot();
18853
18854     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
18855     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
18856
18857     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
18858     HRESULT deleteCaption();
18859
18860     [id(DISPID_IHTMLTABLE_INSERTROW)]
18861     HRESULT insertRow(
18862             [defaultvalue(-1), in] LONG index,
18863             [retval, out] IDispatch **row);
18864
18865     [id(DISPID_IHTMLTABLE_DELETEROW)]
18866     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
18867
18868     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
18869     HRESULT readyState([retval, out] BSTR *p);
18870
18871     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
18872     HRESULT onreadystatechange([in] VARIANT v);
18873
18874     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
18875     HRESULT onreadystatechange([retval, out] VARIANT *p);
18876 }
18877
18878 [
18879     odl,
18880     oleautomation,
18881     dual,
18882     uuid(3050f4ad-98b5-11cf-bb82-00aa00bdce0b)
18883 ]
18884 interface IHTMLTable2 : IDispatch
18885 {
18886     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
18887     HRESULT firstPage();
18888
18889     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
18890     HRESULT lastPage();
18891
18892     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
18893     HRESULT cells([retval, out] IHTMLElementCollection* * p);
18894
18895     [id(DISPID_IHTMLTABLE2_MOVEROW)]
18896     HRESULT moveRow([defaultvalue(-1), in] LONG indexFrom,
18897         [defaultvalue(-1), in] LONG indexTo,
18898         [retval, out] IDispatch** row);
18899 };
18900
18901 [
18902     odl,
18903     oleautomation,
18904     dual,
18905     uuid(3050f829-98b5-11cf-bb82-00aa00bdce0b)
18906 ]
18907 interface IHTMLTable3 : IDispatch
18908 {
18909     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18910     HRESULT summary([in] BSTR v);
18911
18912     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
18913     HRESULT summary([retval, out] BSTR * p);
18914 };
18915
18916 [
18917     noncreatable,
18918     uuid(3050f26b-98b5-11cf-bb82-00aa00bdce0b)
18919 ]
18920 coclass HTMLTable
18921 {
18922     [default]           dispinterface DispHTMLTable;
18923     [source, default]   dispinterface HTMLTableEvents;
18924     [source]            dispinterface HTMLTableEvents2;
18925                         interface IHTMLElement;
18926                         interface IHTMLElement2;
18927                         interface IHTMLElement3;
18928                         interface IHTMLElement4;
18929                         interface IHTMLUniqueName;
18930                         interface IHTMLDOMNode;
18931                         interface IHTMLDOMNode2;
18932                         interface IHTMLDatabinding;
18933                         interface IHTMLControlElement;
18934                         interface IHTMLTable;
18935                         interface IHTMLTable2;
18936                         interface IHTMLTable3;
18937 };
18938
18939 [
18940     odl,
18941     oleautomation,
18942     dual,
18943     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
18944 ]
18945 interface IHTMLTableSection : IDispatch
18946 {
18947     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
18948     HRESULT align([in] BSTR v);
18949
18950     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
18951     HRESULT align([retval, out] BSTR *p);
18952
18953     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
18954     HRESULT vAlign([in] BSTR v);
18955
18956     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
18957     HRESULT vAlign([retval, out] BSTR *p);
18958
18959     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
18960     HRESULT bgColor([in] VARIANT v);
18961
18962     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
18963     HRESULT bgColor([retval, out] VARIANT *p);
18964
18965     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
18966     HRESULT rows([retval, out] IHTMLElementCollection **p);
18967
18968     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
18969     HRESULT insertRow(
18970             [defaultvalue(-1), in] LONG index,
18971             [retval, out] IDispatch **row);
18972
18973     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
18974     HRESULT deleteRow([defaultvalue(-1), in] LONG index);
18975 }
18976
18977 /*****************************************************************************
18978  *    IHTMLTableRow interface
18979  */
18980 [
18981     odl,
18982     oleautomation,
18983     dual,
18984     uuid(3050f23c-98b5-11cf-bb82-00aa00bdce0b)
18985 ]
18986 interface IHTMLTableRow : IDispatch
18987 {
18988     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
18989     HRESULT align([in] BSTR v);
18990
18991     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
18992     HRESULT align([out, retval] BSTR *p);
18993
18994     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
18995     HRESULT vAlign([in] BSTR v);
18996
18997     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
18998     HRESULT vAlign([out, retval] BSTR *p);
18999
19000     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
19001     HRESULT bgColor([in] VARIANT v);
19002
19003     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
19004     HRESULT bgColor([out, retval] VARIANT *p);
19005
19006     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
19007     HRESULT borderColor([in] VARIANT v);
19008
19009     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
19010     HRESULT borderColor([out, retval] VARIANT *p);
19011
19012     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
19013     HRESULT borderColorLight([in] VARIANT v);
19014
19015     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
19016     HRESULT borderColorLight([out, retval] VARIANT *p);
19017
19018     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
19019     HRESULT borderColorDark([in] VARIANT v);
19020
19021     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
19022     HRESULT borderColorDark([out, retval] VARIANT *p);
19023
19024     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
19025     HRESULT rowIndex([out, retval] LONG *p);
19026
19027     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
19028     HRESULT sectionRowIndex([out, retval] LONG *p);
19029
19030     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
19031     HRESULT cells([out, retval] IHTMLElementCollection **p);
19032
19033     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
19034     HRESULT insertCell(
19035             [in, defaultvalue(-1)] LONG index,
19036             [out, retval] IDispatch **row);
19037
19038     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
19039     HRESULT deleteCell([in, defaultvalue(-1)] LONG index);
19040 }
19041
19042 /*****************************************************************************
19043  *    DispHTMLTable interface
19044  */
19045 [
19046     hidden,
19047     uuid(3050f532-98b5-11cf-bb82-00aa00bdce0b)
19048 ]
19049 dispinterface DispHTMLTable
19050 {
19051 properties:
19052 methods:
19053     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
19054     void setAttribute(
19055             [in] BSTR strAttributeName,
19056             [in] VARIANT AttributeValue,
19057             [in, defaultvalue(1)] LONG lFlags);
19058
19059     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
19060     VARIANT getAttribute(
19061              [in] BSTR strAttributeName,
19062              [in, defaultvalue(0)] LONG lFlags);
19063
19064     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
19065     VARIANT_BOOL removeAttribute(
19066             [in] BSTR strAttributeName,
19067             [in, defaultvalue(1)] LONG lFlags);
19068
19069     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19070     void className(BSTR v);
19071
19072     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
19073     BSTR className();
19074
19075     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
19076     void id(BSTR v);
19077
19078     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
19079     BSTR id();
19080
19081     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
19082     BSTR tagName();
19083
19084     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
19085     IHTMLElement *parentElement();
19086
19087     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
19088     IHTMLStyle *style();
19089
19090     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19091     void onhelp(VARIANT v);
19092
19093     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
19094     VARIANT onhelp();
19095
19096     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19097     void onclick(VARIANT v);
19098
19099     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
19100     VARIANT onclick();
19101
19102     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19103     void ondblclick(VARIANT v);
19104
19105     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
19106     VARIANT ondblclick();
19107
19108     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19109     void onkeydown(VARIANT v);
19110
19111     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
19112     VARIANT onkeydown();
19113
19114     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19115     void onkeyup(VARIANT v);
19116
19117     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
19118     VARIANT onkeyup();
19119
19120     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19121     void onkeypress(VARIANT v);
19122
19123     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
19124     VARIANT onkeypress();
19125
19126     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19127     void onmouseout(VARIANT v);
19128
19129     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
19130     VARIANT onmouseout();
19131
19132     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19133     void onmouseover(VARIANT v);
19134
19135     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
19136     VARIANT onmouseover();
19137
19138     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19139     void onmousemove(VARIANT v);
19140
19141     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
19142     VARIANT onmousemove();
19143
19144     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19145     void onmousedown(VARIANT v);
19146
19147     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
19148     VARIANT onmousedown();
19149
19150     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19151     void onmouseup(VARIANT v);
19152
19153     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
19154     VARIANT onmouseup();
19155
19156     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
19157     IDispatch *document();
19158
19159     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19160     void title(BSTR v);
19161
19162     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
19163     BSTR title();
19164
19165     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19166     void language(BSTR v);
19167
19168     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
19169     BSTR language();
19170
19171     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19172     void onselectstart(VARIANT v);
19173
19174     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
19175     VARIANT onselectstart();
19176
19177     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
19178     void scrollIntoView([in, optional] VARIANT varargStart);
19179
19180     [id(DISPID_IHTMLELEMENT_CONTAINS)]
19181     VARIANT_BOOL contains([in] IHTMLElement *pChild);
19182
19183     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
19184     LONG sourceIndex();
19185
19186     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
19187     VARIANT recordNumber();
19188
19189     [propput, id(DISPID_IHTMLELEMENT_LANG)]
19190     void lang(BSTR v);
19191
19192     [propget, id(DISPID_IHTMLELEMENT_LANG)]
19193     BSTR lang();
19194
19195     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
19196     LONG offsetLeft();
19197
19198     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
19199     LONG offsetTop();
19200
19201     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
19202     LONG offsetWidth();
19203
19204     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
19205     LONG offsetHeight();
19206
19207     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
19208     IHTMLElement *offsetParent();
19209
19210     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
19211     void innerHTML(BSTR v);
19212
19213     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
19214     BSTR innerHTML();
19215
19216     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19217     void innerText(BSTR v);
19218
19219     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
19220     BSTR innerText();
19221
19222     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19223     void outerHTML(BSTR v);
19224
19225     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
19226     BSTR outerHTML();
19227
19228     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19229     void outerText(BSTR v);
19230
19231     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
19232     BSTR outerText();
19233
19234     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
19235     void insertAdjacentHTML(
19236             [in] BSTR where,
19237             [in] BSTR html);
19238
19239     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
19240     void insertAdjacentText(
19241             [in] BSTR where,
19242             [in] BSTR text);
19243
19244     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
19245     IHTMLElement *parentTextEdit();
19246
19247     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
19248     VARIANT_BOOL isTextEdit();
19249
19250     [id(DISPID_IHTMLELEMENT_CLICK)]
19251     void click();
19252
19253     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
19254     IHTMLFiltersCollection *filters();
19255
19256     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19257     void ondragstart(VARIANT v);
19258
19259     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
19260     VARIANT ondragstart();
19261
19262     [id(DISPID_IHTMLELEMENT_TOSTRING)]
19263     BSTR toString();
19264
19265     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19266     void onbeforeupdate(VARIANT v);
19267
19268     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
19269     VARIANT onbeforeupdate();
19270
19271     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19272     void onafterupdate(VARIANT v);
19273
19274     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
19275     VARIANT onafterupdate();
19276
19277     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19278     void onerrorupdate(VARIANT v);
19279
19280     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
19281     VARIANT onerrorupdate();
19282
19283     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19284     void onrowexit(VARIANT v);
19285
19286     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
19287     VARIANT onrowexit();
19288
19289     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19290     void onrowenter(VARIANT v);
19291
19292     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
19293     VARIANT onrowenter();
19294
19295     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19296     void ondatasetchanged(VARIANT v);
19297
19298     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
19299     VARIANT ondatasetchanged();
19300
19301     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19302     void ondataavailable(VARIANT v);
19303
19304     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
19305     VARIANT ondataavailable();
19306
19307     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19308     void ondatasetcomplete(VARIANT v);
19309
19310     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
19311     VARIANT ondatasetcomplete();
19312
19313     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19314     void onfilterchange(VARIANT v);
19315
19316     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
19317     VARIANT onfilterchange();
19318
19319     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
19320     IDispatch *children();
19321
19322     [propget, id(DISPID_IHTMLELEMENT_ALL)]
19323     IDispatch *all();
19324
19325     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
19326     BSTR scopeName();
19327
19328     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
19329     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
19330
19331     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
19332     void releaseCapture();
19333
19334     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19335     void onlosecapture(VARIANT v);
19336
19337     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
19338     VARIANT onlosecapture();
19339
19340     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
19341     BSTR componentFromPoint(
19342             [in] LONG x,
19343             [in] LONG y);
19344
19345     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
19346     void doScroll([in, optional] VARIANT component);
19347
19348     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19349     void onscroll(VARIANT v);
19350
19351     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
19352     VARIANT onscroll();
19353
19354     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19355     void ondrag(VARIANT v);
19356
19357     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
19358     VARIANT ondrag();
19359
19360     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19361     void ondragend(VARIANT v);
19362
19363     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
19364     VARIANT ondragend();
19365
19366     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19367     void ondragenter(VARIANT v);
19368
19369     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
19370     VARIANT ondragenter();
19371
19372     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19373     void ondragover(VARIANT v);
19374
19375     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
19376     VARIANT ondragover();
19377
19378     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19379     void ondragleave(VARIANT v);
19380
19381     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
19382     VARIANT ondragleave();
19383
19384     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19385     void ondrop(VARIANT v);
19386
19387     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
19388     VARIANT ondrop();
19389
19390     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19391     void onbeforecut(VARIANT v);
19392
19393     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
19394     VARIANT onbeforecut();
19395
19396     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19397     void oncut(VARIANT v);
19398
19399     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
19400     VARIANT oncut();
19401
19402     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19403     void onbeforecopy(VARIANT v);
19404
19405     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
19406     VARIANT onbeforecopy();
19407
19408     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19409     void oncopy(VARIANT v);
19410
19411     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
19412     VARIANT oncopy();
19413
19414     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19415     void onbeforepaste(VARIANT v);
19416
19417     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
19418     VARIANT onbeforepaste();
19419
19420     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19421     void onpaste(VARIANT v);
19422
19423     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
19424     VARIANT onpaste();
19425
19426     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
19427     IHTMLCurrentStyle *currentStyle();
19428
19429     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19430     void onpropertychange(VARIANT v);
19431
19432     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
19433     VARIANT onpropertychange();
19434
19435     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
19436     IHTMLRectCollection *getClientRects();
19437
19438     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
19439     IHTMLRect *getBoundingClientRect();
19440
19441     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
19442     void setExpression(
19443             [in] BSTR propname,
19444             [in] BSTR expression,
19445             [in, defaultvalue("")] BSTR language);
19446
19447     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
19448     VARIANT getExpression([in] BSTR propname);
19449
19450     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
19451     VARIANT_BOOL removeExpression([in] BSTR propname);
19452
19453     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19454     void tabIndex(short v);
19455
19456     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
19457     short tabIndex();
19458
19459     [id(DISPID_IHTMLELEMENT2_FOCUS)]
19460     void focus();
19461
19462     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19463     void accessKey(BSTR v);
19464
19465     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
19466     BSTR accessKey();
19467
19468     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19469     void onblur(VARIANT v);
19470
19471     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
19472     VARIANT onblur();
19473
19474     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19475     void onfocus(VARIANT v);
19476
19477     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
19478     VARIANT onfocus();
19479
19480     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19481     void onresize(VARIANT v);
19482
19483     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
19484     VARIANT onresize();
19485
19486     [id(DISPID_IHTMLELEMENT2_BLUR)]
19487     void blur();
19488
19489     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
19490     void addFilter([in] IUnknown *pUnk);
19491
19492     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
19493     void removeFilter([in] IUnknown *pUnk);
19494
19495     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
19496     LONG clientHeight();
19497
19498     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
19499     LONG clientWidth();
19500
19501     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
19502     LONG clientTop();
19503
19504     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
19505     LONG clientLeft();
19506
19507     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
19508     VARIANT_BOOL attachEvent(
19509             [in] BSTR event,
19510             [in] IDispatch *pDisp);
19511
19512     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
19513     void detachEvent(
19514             [in] BSTR event,
19515             [in] IDispatch *pDisp);
19516
19517     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
19518     VARIANT readyState();
19519
19520     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19521     void onreadystatechange(VARIANT v);
19522
19523     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
19524     VARIANT onreadystatechange();
19525
19526     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19527     void onrowsdelete(VARIANT v);
19528
19529     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
19530     VARIANT onrowsdelete();
19531
19532     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19533     void onrowsinserted(VARIANT v);
19534
19535     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
19536     VARIANT onrowsinserted();
19537
19538     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19539      void oncellchange(VARIANT v);
19540
19541     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
19542     VARIANT oncellchange();
19543
19544     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19545     void dir(BSTR v);
19546
19547     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
19548     BSTR dir();
19549
19550     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
19551     IDispatch *createControlRange();
19552
19553     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
19554     LONG scrollHeight();
19555
19556     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
19557     LONG scrollWidth();
19558
19559     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19560     void scrollTop(LONG v);
19561
19562     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
19563     LONG scrollTop();
19564
19565     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19566     void scrollLeft(LONG v);
19567
19568     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
19569     LONG scrollLeft();
19570
19571     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
19572     void clearAttributes();
19573
19574     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19575     void oncontextmenu(VARIANT v);
19576
19577     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
19578     VARIANT oncontextmenu();
19579
19580     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
19581     IHTMLElement *insertAdjacentElement(
19582             [in] BSTR where,
19583             [in] IHTMLElement *insertedElement);
19584
19585     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
19586     IHTMLElement *applyElement(
19587             [in] IHTMLElement *apply,
19588             [in] BSTR where);
19589
19590     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
19591     BSTR getAdjacentText([in] BSTR where);
19592
19593     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
19594     BSTR replaceAdjacentText(
19595             [in] BSTR where,
19596             [in] BSTR newText);
19597
19598     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
19599     VARIANT_BOOL canHaveChildren();
19600
19601     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
19602     LONG addBehavior(
19603             [in] BSTR bstrUrl,
19604             [in, optional] VARIANT *pvarFactory);
19605
19606     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
19607     VARIANT_BOOL removeBehavior([in] LONG cookie);
19608
19609     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
19610     IHTMLStyle *runtimeStyle();
19611
19612     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
19613     IDispatch *behaviorUrns();
19614
19615     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
19616     void tagUrn(BSTR v);
19617
19618     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
19619     BSTR tagUrn();
19620
19621     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19622     void onbeforeeditfocus(VARIANT v);
19623
19624     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
19625     VARIANT onbeforeeditfocus();
19626
19627     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
19628     LONG readyStateValue();
19629
19630     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
19631     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
19632
19633     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
19634     void mergeAttributes(
19635             [in] IHTMLElement *mergeThis,
19636             [in, optional] VARIANT *pvarFlags);
19637
19638     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
19639     VARIANT_BOOL isMultiLine();
19640
19641     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
19642     VARIANT_BOOL canHaveHTML();
19643
19644     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19645     void onlayoutcomplete(VARIANT v);
19646
19647     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
19648     VARIANT onlayoutcomplete();
19649
19650     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19651     void onpage(VARIANT v);
19652
19653     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
19654     VARIANT onpage();
19655
19656     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19657     void inflateBlock(VARIANT_BOOL v);
19658
19659     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
19660     VARIANT_BOOL inflateBlock();
19661
19662     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19663     void onbeforedeactivate(VARIANT v);
19664
19665     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
19666     VARIANT onbeforedeactivate();
19667
19668     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
19669     void setActive();
19670
19671     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19672     void contentEditable(BSTR v);
19673
19674     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
19675     BSTR contentEditable();
19676
19677     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
19678     VARIANT_BOOL isContentEditable();
19679
19680     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19681     void hideFocus(VARIANT_BOOL v);
19682
19683     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
19684     VARIANT_BOOL hideFocus();
19685
19686     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19687     void disabled(VARIANT_BOOL v);
19688
19689     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
19690     VARIANT_BOOL disabled();
19691
19692     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
19693     VARIANT_BOOL isDisabled();
19694
19695     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19696     void onmove(VARIANT v);
19697
19698     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
19699     VARIANT onmove();
19700
19701     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19702     void oncontrolselect(VARIANT v);
19703
19704     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
19705     VARIANT oncontrolselect();
19706
19707     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
19708     VARIANT_BOOL fireEvent(
19709             [in] BSTR bstrEventName,
19710             [in, optional] VARIANT *pvarEventObject);
19711
19712     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19713     void onresizestart(VARIANT v);
19714
19715     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
19716     VARIANT onresizestart();
19717
19718     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19719     void onresizeend(VARIANT v);
19720
19721     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
19722     VARIANT onresizeend();
19723
19724     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19725     void onmovestart(VARIANT v);
19726
19727     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
19728     VARIANT onmovestart();
19729
19730     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19731     void onmoveend(VARIANT v);
19732
19733     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
19734     VARIANT onmoveend();
19735
19736     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19737     void onmouseenter(VARIANT v);
19738
19739     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
19740     VARIANT onmouseenter();
19741
19742     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19743     void onmouseleave(VARIANT v);
19744
19745     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
19746     VARIANT onmouseleave();
19747
19748     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19749     void onactivate(VARIANT v);
19750
19751     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
19752     VARIANT onactivate();
19753
19754     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19755     void ondeactivate(VARIANT v);
19756
19757     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
19758     VARIANT ondeactivate();
19759
19760     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
19761     VARIANT_BOOL dragDrop();
19762
19763     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
19764     LONG glyphMode();
19765
19766     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19767     void onmousewheel(VARIANT v);
19768
19769     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
19770     VARIANT onmousewheel();
19771
19772     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
19773     void normalize();
19774
19775     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
19776     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
19777
19778     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
19779     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
19780
19781     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
19782     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
19783
19784     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19785     void onbeforeactivate(VARIANT v);
19786
19787     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
19788     VARIANT onbeforeactivate();
19789
19790     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19791     void onfocusin(VARIANT v);
19792
19793     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
19794     VARIANT onfocusin();
19795
19796     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19797     void onfocusout(VARIANT v);
19798
19799     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
19800     VARIANT onfocusout();
19801
19802     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
19803     LONG uniqueNumber();
19804
19805     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
19806     BSTR uniqueID();
19807
19808     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
19809     LONG nodeType();
19810
19811     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
19812     IHTMLDOMNode *parentNode();
19813
19814     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
19815     VARIANT_BOOL hasChildNodes();
19816
19817     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
19818     IDispatch *childNodes();
19819
19820     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
19821     IDispatch *attributes();
19822
19823     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
19824     IHTMLDOMNode *insertBefore(
19825             [in] IHTMLDOMNode *newChild,
19826             [in, optional] VARIANT refChild);
19827
19828     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
19829     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
19830
19831     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
19832     IHTMLDOMNode *replaceChild(
19833             [in] IHTMLDOMNode *newChild,
19834             [in] IHTMLDOMNode *oldChild);
19835
19836     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
19837     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
19838
19839     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
19840     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
19841
19842     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
19843     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
19844
19845     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
19846     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
19847
19848     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
19849     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
19850
19851     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
19852     BSTR nodeName();
19853
19854     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19855     void nodeValue(VARIANT v);
19856
19857     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
19858     VARIANT nodeValue();
19859
19860     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
19861     IHTMLDOMNode *firstChild();
19862
19863     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
19864     IHTMLDOMNode *lastChild();
19865
19866     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
19867     IHTMLDOMNode *previousSibling();
19868
19869     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
19870     IHTMLDOMNode *nextSibling();
19871
19872     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
19873     IDispatch *ownerDocument();
19874
19875     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
19876     void dataFld(BSTR v);
19877
19878     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
19879     BSTR dataFld();
19880
19881     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
19882     void dataSrc(BSTR v);
19883
19884     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
19885     BSTR dataSrc();
19886
19887     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
19888     void dataFormatAs(BSTR v);
19889
19890     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
19891     BSTR dataFormatAs();
19892
19893     [propput, id(DISPID_IHTMLTABLE_COLS)]
19894     void cols(LONG v);
19895
19896     [propget, id(DISPID_IHTMLTABLE_COLS)]
19897     LONG cols();
19898
19899     [propput, id(DISPID_IHTMLTABLE_BORDER)]
19900     void border(VARIANT v);
19901
19902     [propget, id(DISPID_IHTMLTABLE_BORDER)]
19903     VARIANT border();
19904
19905     [propput, id(DISPID_IHTMLTABLE_FRAME)]
19906     void frame(BSTR v);
19907
19908     [propget, id(DISPID_IHTMLTABLE_FRAME)]
19909     BSTR frame();
19910
19911     [propput, id(DISPID_IHTMLTABLE_RULES)]
19912     void rules(BSTR v);
19913
19914     [propget, id(DISPID_IHTMLTABLE_RULES)]
19915     BSTR rules();
19916
19917     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
19918     void cellSpacing(VARIANT v);
19919
19920     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
19921     VARIANT cellSpacing();
19922
19923     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
19924     void cellPadding(VARIANT v);
19925
19926     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
19927     VARIANT cellPadding();
19928
19929     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
19930     void background(BSTR v);
19931
19932     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
19933     BSTR background();
19934
19935     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
19936     void bgColor(VARIANT v);
19937
19938     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
19939     VARIANT bgColor();
19940
19941     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
19942     void borderColor(VARIANT v);
19943
19944     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
19945     VARIANT borderColor();
19946
19947     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
19948     void borderColorLight(VARIANT v);
19949
19950     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
19951     VARIANT borderColorLight();
19952
19953     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
19954     void borderColorDark(VARIANT v);
19955
19956     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
19957     VARIANT borderColorDark();
19958
19959     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
19960     void align(BSTR v);
19961
19962     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
19963     BSTR align();
19964
19965     [id(DISPID_IHTMLTABLE_REFRESH)]
19966     void refresh();
19967
19968     [propget, id(DISPID_IHTMLTABLE_ROWS)]
19969     IHTMLElementCollection *rows();
19970
19971     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
19972     void width(VARIANT v);
19973
19974     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
19975     VARIANT width();
19976
19977     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
19978     void height(VARIANT v);
19979
19980     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
19981     VARIANT height();
19982
19983     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
19984     void dataPageSize(LONG v);
19985
19986     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
19987     LONG dataPageSize();
19988
19989     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
19990     void nextPage();
19991
19992     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
19993     void previousPage();
19994
19995     [propget, id(DISPID_IHTMLTABLE_THEAD)]
19996     IHTMLTableSection *tHead();
19997
19998     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
19999     IHTMLTableSection *tFoot();
20000
20001     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
20002     IHTMLElementCollection *tBodies();
20003
20004     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
20005     IHTMLTableCaption *caption();
20006
20007     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
20008     IDispatch *createTHead();
20009
20010     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
20011     void deleteTHead();
20012
20013     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
20014     IDispatch *createTFoot();
20015
20016     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
20017     void deleteTFoot();
20018
20019     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
20020     IHTMLTableCaption *createCaption();
20021
20022     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
20023     void deleteCaption();
20024
20025     [id(DISPID_IHTMLTABLE_INSERTROW)]
20026     IDispatch *insertRow([in, defaultvalue(-1)] LONG index);
20027
20028     [id(DISPID_IHTMLTABLE_DELETEROW)]
20029     void deleteRow([in, defaultvalue(-1)] LONG index);
20030
20031     [id(DISPID_IHTMLTABLE2_FIRSTPAGE)]
20032     void firstPage();
20033
20034     [id(DISPID_IHTMLTABLE2_LASTPAGE)]
20035     void lastPage();
20036
20037     [propget, id(DISPID_IHTMLTABLE2_CELLS)]
20038     IHTMLElementCollection *cells();
20039
20040     [id(DISPID_IHTMLTABLE2_MOVEROW)]
20041     IDispatch *moveRow(
20042             [in, defaultvalue(-1)] LONG indexFrom,
20043             [in, defaultvalue(-1)] LONG indexTo);
20044
20045     [propput, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
20046     void summary(BSTR v);
20047
20048     [propget, id(DISPID_IHTMLTABLE3_SUMMARY), displaybind, bindable]
20049     BSTR summary();
20050 }
20051
20052 /*****************************************************************************
20053  *    DispHTMLTableRow dispinterface
20054  */
20055 [
20056     hidden,
20057     uuid(3050f535-98b5-11cf-bb82-00aa00bdce0b)
20058 ]
20059 dispinterface DispHTMLTableRow
20060 {
20061 properties:
20062 methods:
20063     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
20064     void setAttribute(
20065             [in] BSTR strAttributeName,
20066             [in] VARIANT AttributeValue,
20067             [in, defaultvalue(1)] LONG lFlags);
20068
20069     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
20070     VARIANT getAttribute(
20071              [in] BSTR strAttributeName,
20072              [in, defaultvalue(0)] LONG lFlags);
20073
20074     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
20075     VARIANT_BOOL removeAttribute(
20076             [in] BSTR strAttributeName,
20077             [in, defaultvalue(1)] LONG lFlags);
20078
20079     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
20080     void className(BSTR v);
20081
20082     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
20083     BSTR className();
20084
20085     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
20086     void id(BSTR v);
20087
20088     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
20089     BSTR id();
20090
20091     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
20092     BSTR tagName();
20093
20094     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
20095     IHTMLElement *parentElement();
20096
20097     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
20098     IHTMLStyle *style();
20099
20100     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
20101     void onhelp(VARIANT v);
20102
20103     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
20104     VARIANT onhelp();
20105
20106     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
20107     void onclick(VARIANT v);
20108
20109     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
20110     VARIANT onclick();
20111
20112     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
20113     void ondblclick(VARIANT v);
20114
20115     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
20116     VARIANT ondblclick();
20117
20118     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
20119     void onkeydown(VARIANT v);
20120
20121     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
20122     VARIANT onkeydown();
20123
20124     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
20125     void onkeyup(VARIANT v);
20126
20127     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
20128     VARIANT onkeyup();
20129
20130     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
20131     void onkeypress(VARIANT v);
20132
20133     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
20134     VARIANT onkeypress();
20135
20136     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
20137     void onmouseout(VARIANT v);
20138
20139     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
20140     VARIANT onmouseout();
20141
20142     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
20143     void onmouseover(VARIANT v);
20144
20145     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
20146     VARIANT onmouseover();
20147
20148     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
20149     void onmousemove(VARIANT v);
20150
20151     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
20152     VARIANT onmousemove();
20153
20154     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
20155     void onmousedown(VARIANT v);
20156
20157     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
20158     VARIANT onmousedown();
20159
20160     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
20161     void onmouseup(VARIANT v);
20162
20163     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
20164     VARIANT onmouseup();
20165
20166     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
20167     IDispatch *document();
20168
20169     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
20170     void title(BSTR v);
20171
20172     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
20173     BSTR title();
20174
20175     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
20176     void language(BSTR v);
20177
20178     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
20179     BSTR language();
20180
20181     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
20182     void onselectstart(VARIANT v);
20183
20184     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
20185     VARIANT onselectstart();
20186
20187     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
20188     void scrollIntoView([in, optional] VARIANT varargStart);
20189
20190     [id(DISPID_IHTMLELEMENT_CONTAINS)]
20191     VARIANT_BOOL contains([in] IHTMLElement *pChild);
20192
20193     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
20194     LONG sourceIndex();
20195
20196     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
20197     VARIANT recordNumber();
20198
20199     [propput, id(DISPID_IHTMLELEMENT_LANG)]
20200     void lang(BSTR v);
20201
20202     [propget, id(DISPID_IHTMLELEMENT_LANG)]
20203     BSTR lang();
20204
20205     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
20206     LONG offsetLeft();
20207
20208     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
20209     LONG offsetTop();
20210
20211     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
20212     LONG offsetWidth();
20213
20214     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
20215     LONG offsetHeight();
20216
20217     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
20218     IHTMLElement *offsetParent();
20219
20220     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
20221     void innerHTML(BSTR v);
20222
20223     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
20224     BSTR innerHTML();
20225
20226     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
20227     void innerText(BSTR v);
20228
20229     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
20230     BSTR innerText();
20231
20232     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
20233     void outerHTML(BSTR v);
20234
20235     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
20236     BSTR outerHTML();
20237
20238     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
20239     void outerText(BSTR v);
20240
20241     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
20242     BSTR outerText();
20243
20244     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
20245     void insertAdjacentHTML(
20246             [in] BSTR where,
20247             [in] BSTR html);
20248
20249     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
20250     void insertAdjacentText(
20251             [in] BSTR where,
20252             [in] BSTR text);
20253
20254     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
20255     IHTMLElement *parentTextEdit();
20256
20257     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
20258     VARIANT_BOOL isTextEdit();
20259
20260     [id(DISPID_IHTMLELEMENT_CLICK)]
20261     void click();
20262
20263     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
20264     IHTMLFiltersCollection *filters();
20265
20266     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
20267     void ondragstart(VARIANT v);
20268
20269     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
20270     VARIANT ondragstart();
20271
20272     [id(DISPID_IHTMLELEMENT_TOSTRING)]
20273     BSTR toString();
20274
20275     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
20276     void onbeforeupdate(VARIANT v);
20277
20278     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
20279     VARIANT onbeforeupdate();
20280
20281     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
20282     void onafterupdate(VARIANT v);
20283
20284     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
20285     VARIANT onafterupdate();
20286
20287     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
20288     void onerrorupdate(VARIANT v);
20289
20290     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
20291     VARIANT onerrorupdate();
20292
20293     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
20294     void onrowexit(VARIANT v);
20295
20296     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
20297     VARIANT onrowexit();
20298
20299     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
20300     void onrowenter(VARIANT v);
20301
20302     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
20303     VARIANT onrowenter();
20304
20305     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
20306     void ondatasetchanged(VARIANT v);
20307
20308     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
20309     VARIANT ondatasetchanged();
20310
20311     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
20312     void ondataavailable(VARIANT v);
20313
20314     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
20315     VARIANT ondataavailable();
20316
20317     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
20318     void ondatasetcomplete(VARIANT v);
20319
20320     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
20321     VARIANT ondatasetcomplete();
20322
20323     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
20324     void onfilterchange(VARIANT v);
20325
20326     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
20327     VARIANT onfilterchange();
20328
20329     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
20330     IDispatch *children();
20331
20332     [propget, id(DISPID_IHTMLELEMENT_ALL)]
20333     IDispatch *all();
20334
20335     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
20336     BSTR scopeName();
20337
20338     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
20339     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
20340
20341     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
20342     void releaseCapture();
20343
20344     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
20345     void onlosecapture(VARIANT v);
20346
20347     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
20348     VARIANT onlosecapture();
20349
20350     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
20351     BSTR componentFromPoint(
20352             [in] LONG x,
20353             [in] LONG y);
20354
20355     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
20356     void doScroll([in, optional] VARIANT component);
20357
20358     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
20359     void onscroll(VARIANT v);
20360
20361     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
20362     VARIANT onscroll();
20363
20364     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
20365     void ondrag(VARIANT v);
20366
20367     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
20368     VARIANT ondrag();
20369
20370     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
20371     void ondragend(VARIANT v);
20372
20373     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
20374     VARIANT ondragend();
20375
20376     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
20377     void ondragenter(VARIANT v);
20378
20379     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
20380     VARIANT ondragenter();
20381
20382     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
20383     void ondragover(VARIANT v);
20384
20385     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
20386     VARIANT ondragover();
20387
20388     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
20389     void ondragleave(VARIANT v);
20390
20391     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
20392     VARIANT ondragleave();
20393
20394     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
20395     void ondrop(VARIANT v);
20396
20397     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
20398     VARIANT ondrop();
20399
20400     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
20401     void onbeforecut(VARIANT v);
20402
20403     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
20404     VARIANT onbeforecut();
20405
20406     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
20407     void oncut(VARIANT v);
20408
20409     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
20410     VARIANT oncut();
20411
20412     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
20413     void onbeforecopy(VARIANT v);
20414
20415     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
20416     VARIANT onbeforecopy();
20417
20418     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
20419     void oncopy(VARIANT v);
20420
20421     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
20422     VARIANT oncopy();
20423
20424     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
20425     void onbeforepaste(VARIANT v);
20426
20427     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
20428     VARIANT onbeforepaste();
20429
20430     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
20431     void onpaste(VARIANT v);
20432
20433     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
20434     VARIANT onpaste();
20435
20436     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
20437     IHTMLCurrentStyle *currentStyle();
20438
20439     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
20440     void onpropertychange(VARIANT v);
20441
20442     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
20443     VARIANT onpropertychange();
20444
20445     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
20446     IHTMLRectCollection *getClientRects();
20447
20448     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
20449     IHTMLRect *getBoundingClientRect();
20450
20451     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
20452     void setExpression(
20453             [in] BSTR propname,
20454             [in] BSTR expression,
20455             [in, defaultvalue("")] BSTR language);
20456
20457     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
20458     VARIANT getExpression([in] BSTR propname);
20459
20460     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
20461     VARIANT_BOOL removeExpression([in] BSTR propname);
20462
20463     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
20464     void tabIndex(short v);
20465
20466     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
20467     short tabIndex();
20468
20469     [id(DISPID_IHTMLELEMENT2_FOCUS)]
20470     void focus();
20471
20472     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
20473     void accessKey(BSTR v);
20474
20475     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
20476     BSTR accessKey();
20477
20478     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
20479     void onblur(VARIANT v);
20480
20481     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
20482     VARIANT onblur();
20483
20484     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
20485     void onfocus(VARIANT v);
20486
20487     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
20488     VARIANT onfocus();
20489
20490     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
20491     void onresize(VARIANT v);
20492
20493     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
20494     VARIANT onresize();
20495
20496     [id(DISPID_IHTMLELEMENT2_BLUR)]
20497     void blur();
20498
20499     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
20500     void addFilter([in] IUnknown *pUnk);
20501
20502     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
20503     void removeFilter([in] IUnknown *pUnk);
20504
20505     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
20506     LONG clientHeight();
20507
20508     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
20509     LONG clientWidth();
20510
20511     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
20512     LONG clientTop();
20513
20514     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
20515     LONG clientLeft();
20516
20517     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
20518     VARIANT_BOOL attachEvent(
20519             [in] BSTR event,
20520             [in] IDispatch *pDisp);
20521
20522     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
20523     void detachEvent(
20524             [in] BSTR event,
20525             [in] IDispatch *pDisp);
20526
20527     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
20528     VARIANT readyState();
20529
20530     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
20531     void onreadystatechange(VARIANT v);
20532
20533     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
20534     VARIANT onreadystatechange();
20535
20536     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
20537     void onrowsdelete(VARIANT v);
20538
20539     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
20540     VARIANT onrowsdelete();
20541
20542     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
20543     void onrowsinserted(VARIANT v);
20544
20545     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
20546      VARIANT onrowsinserted();
20547
20548     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
20549      void oncellchange(VARIANT v);
20550
20551     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
20552     VARIANT oncellchange();
20553
20554     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
20555     void dir(BSTR v);
20556
20557     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
20558     BSTR dir();
20559
20560     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
20561     IDispatch *createControlRange();
20562
20563     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
20564     LONG scrollHeight();
20565
20566     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
20567     LONG scrollWidth();
20568
20569     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
20570     void scrollTop(LONG v);
20571
20572     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
20573     LONG scrollTop();
20574
20575     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
20576     void scrollLeft(LONG v);
20577
20578     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
20579     LONG scrollLeft();
20580
20581     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
20582     void clearAttributes();
20583
20584     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
20585     void oncontextmenu(VARIANT v);
20586
20587     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
20588     VARIANT oncontextmenu();
20589
20590     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
20591     IHTMLElement *insertAdjacentElement(
20592             [in] BSTR where,
20593             [in] IHTMLElement *insertedElement);
20594
20595     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
20596     IHTMLElement *applyElement(
20597             [in] IHTMLElement *apply,
20598             [in] BSTR where);
20599
20600     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
20601     BSTR getAdjacentText([in] BSTR where);
20602
20603     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
20604     BSTR replaceAdjacentText(
20605             [in] BSTR where,
20606             [in] BSTR newText);
20607
20608     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
20609     VARIANT_BOOL canHaveChildren();
20610
20611     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
20612     LONG addBehavior(
20613             [in] BSTR bstrUrl,
20614             [in, optional] VARIANT *pvarFactory);
20615
20616     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
20617     VARIANT_BOOL removeBehavior([in] LONG cookie);
20618
20619     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
20620     IHTMLStyle *runtimeStyle();
20621
20622     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
20623     IDispatch *behaviorUrns();
20624
20625     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
20626     void tagUrn(BSTR v);
20627
20628     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
20629     BSTR tagUrn();
20630
20631     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
20632     void onbeforeeditfocus(VARIANT v);
20633
20634     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
20635     VARIANT onbeforeeditfocus();
20636
20637     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
20638     LONG readyStateValue();
20639
20640     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
20641     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
20642
20643     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
20644     void mergeAttributes(
20645             [in] IHTMLElement *mergeThis,
20646             [in, optional] VARIANT *pvarFlags);
20647
20648     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
20649     VARIANT_BOOL isMultiLine();
20650
20651     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
20652     VARIANT_BOOL canHaveHTML();
20653
20654     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20655     void onlayoutcomplete(VARIANT v);
20656
20657     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
20658     VARIANT onlayoutcomplete();
20659
20660     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20661     void onpage(VARIANT v);
20662
20663     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
20664     VARIANT onpage();
20665
20666     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20667     void inflateBlock(VARIANT_BOOL v);
20668
20669     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
20670     VARIANT_BOOL inflateBlock();
20671
20672     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20673     void onbeforedeactivate(VARIANT v);
20674
20675     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
20676     VARIANT onbeforedeactivate();
20677
20678     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
20679     void setActive();
20680
20681     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20682     void contentEditable(BSTR v);
20683
20684     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
20685     BSTR contentEditable();
20686
20687     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
20688     VARIANT_BOOL isContentEditable();
20689
20690     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
20691     void hideFocus(VARIANT_BOOL v);
20692
20693     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
20694     VARIANT_BOOL hideFocus();
20695
20696     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
20697     void disabled(VARIANT_BOOL v);
20698
20699     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
20700     VARIANT_BOOL disabled();
20701
20702     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
20703     VARIANT_BOOL isDisabled();
20704
20705     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
20706     void onmove(VARIANT v);
20707
20708     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
20709     VARIANT onmove();
20710
20711     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
20712     void oncontrolselect(VARIANT v);
20713
20714     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
20715     VARIANT oncontrolselect();
20716
20717     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
20718     VARIANT_BOOL fireEvent(
20719             [in] BSTR bstrEventName,
20720             [in, optional] VARIANT *pvarEventObject);
20721
20722     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
20723     void onresizestart(VARIANT v);
20724
20725     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
20726     VARIANT onresizestart();
20727
20728     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
20729     void onresizeend(VARIANT v);
20730
20731     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
20732     VARIANT onresizeend();
20733
20734     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
20735     void onmovestart(VARIANT v);
20736
20737     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
20738     VARIANT onmovestart();
20739
20740     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
20741     void onmoveend(VARIANT v);
20742
20743     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
20744     VARIANT onmoveend();
20745
20746     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
20747     void onmouseenter(VARIANT v);
20748
20749     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
20750     VARIANT onmouseenter();
20751
20752     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
20753     void onmouseleave(VARIANT v);
20754
20755     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
20756     VARIANT onmouseleave();
20757
20758     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
20759     void onactivate(VARIANT v);
20760
20761     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
20762     VARIANT onactivate();
20763
20764     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20765     void ondeactivate(VARIANT v);
20766
20767     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
20768     VARIANT ondeactivate();
20769
20770     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
20771     VARIANT_BOOL dragDrop();
20772
20773     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
20774     LONG glyphMode();
20775
20776     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20777     void onmousewheel(VARIANT v);
20778
20779     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
20780     VARIANT onmousewheel();
20781
20782     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
20783     void normalize();
20784
20785     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
20786     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
20787
20788     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
20789     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
20790
20791     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
20792     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
20793
20794     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20795     void onbeforeactivate(VARIANT v);
20796
20797     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
20798     VARIANT onbeforeactivate();
20799
20800     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20801     void onfocusin(VARIANT v);
20802
20803     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
20804     VARIANT onfocusin();
20805
20806     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20807     void onfocusout(VARIANT v);
20808
20809     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
20810     VARIANT onfocusout();
20811
20812     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
20813     LONG uniqueNumber();
20814
20815     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
20816     BSTR uniqueID();
20817
20818     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
20819     LONG nodeType();
20820
20821     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
20822     IHTMLDOMNode *parentNode();
20823
20824     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
20825     VARIANT_BOOL hasChildNodes();
20826
20827     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
20828     IDispatch *childNodes();
20829
20830     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
20831     IDispatch *attributes();
20832
20833     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
20834     IHTMLDOMNode *insertBefore(
20835             [in] IHTMLDOMNode *newChild,
20836             [in, optional] VARIANT refChild);
20837
20838     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
20839     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
20840
20841     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
20842     IHTMLDOMNode *replaceChild(
20843             [in] IHTMLDOMNode *newChild,
20844             [in] IHTMLDOMNode *oldChild);
20845
20846     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
20847     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
20848
20849     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
20850     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
20851
20852     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
20853     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
20854
20855     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
20856     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
20857
20858     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
20859     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
20860
20861     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
20862     BSTR nodeName();
20863
20864     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20865     void nodeValue(VARIANT v);
20866
20867     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
20868     VARIANT nodeValue();
20869
20870     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
20871     IHTMLDOMNode *firstChild();
20872
20873     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
20874     IHTMLDOMNode *lastChild();
20875
20876     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
20877     IHTMLDOMNode *previousSibling();
20878
20879     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
20880     IHTMLDOMNode *nextSibling();
20881
20882     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
20883     IDispatch *ownerDocument();
20884
20885     [propput, id(DISPID_IHTMLTABLEROW_ALIGN)]
20886     void align(BSTR v);
20887
20888     [propget, id(DISPID_IHTMLTABLEROW_ALIGN)]
20889     BSTR align();
20890
20891     [propput, id(DISPID_IHTMLTABLEROW_VALIGN)]
20892     void vAlign(BSTR v);
20893
20894     [propget, id(DISPID_IHTMLTABLEROW_VALIGN)]
20895     BSTR vAlign();
20896
20897     [propput, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
20898     void bgColor(VARIANT v);
20899
20900     [propget, id(DISPID_IHTMLTABLEROW_BGCOLOR)]
20901     VARIANT bgColor();
20902
20903     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
20904     void borderColor(VARIANT v);
20905
20906     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLOR)]
20907     VARIANT borderColor();
20908
20909     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
20910     void borderColorLight(VARIANT v);
20911
20912     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORLIGHT)]
20913     VARIANT borderColorLight();
20914
20915     [propput, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
20916     void borderColorDark(VARIANT v);
20917
20918     [propget, id(DISPID_IHTMLTABLEROW_BORDERCOLORDARK)]
20919     VARIANT borderColorDark();
20920
20921     [propget, id(DISPID_IHTMLTABLEROW_ROWINDEX)]
20922     LONG rowIndex();
20923
20924     [propget, id(DISPID_IHTMLTABLEROW_SECTIONROWINDEX)]
20925     LONG sectionRowIndex();
20926
20927     [propget, id(DISPID_IHTMLTABLEROW_CELLS)]
20928     IHTMLElementCollection *cells();
20929
20930     [id(DISPID_IHTMLTABLEROW_INSERTCELL)]
20931     IDispatch *insertCell([in, defaultvalue(-1)] LONG index);
20932
20933     [id(DISPID_IHTMLTABLEROW_DELETECELL)]
20934     void deleteCell([in, defaultvalue(-1)] LONG index);
20935
20936     [propput, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
20937     void height(VARIANT v);
20938
20939     [propget, id(DISPID_IHTMLTABLEROW2_HEIGHT)]
20940     VARIANT height();
20941
20942     [propput, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
20943     void ch(BSTR v);
20944
20945     [propget, id(DISPID_IHTMLTABLEROW3_CH), displaybind, bindable]
20946     BSTR ch();
20947
20948     [propput, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
20949     void chOff(BSTR v);
20950
20951     [propget, id(DISPID_IHTMLTABLEROW3_CHOFF), displaybind, bindable]
20952     BSTR chOff();
20953 }
20954
20955 /*****************************************************************************
20956  *    IHTMLScriptElement interface
20957  */
20958 [
20959     odl,
20960     oleautomation,
20961     dual,
20962     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
20963 ]
20964 interface IHTMLScriptElement : IDispatch
20965 {
20966     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
20967     HRESULT src([in] BSTR v);
20968
20969     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
20970     HRESULT src([retval, out] BSTR *p);
20971
20972     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
20973     HRESULT htmlFor([in] BSTR v);
20974
20975     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
20976     HRESULT htmlFor([retval, out] BSTR *p);
20977
20978     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
20979     HRESULT event([in] BSTR v);
20980
20981     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
20982     HRESULT event([retval, out] BSTR *p);
20983
20984     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
20985     HRESULT text([in] BSTR v);
20986
20987     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
20988     HRESULT text([retval, out] BSTR *p);
20989
20990     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
20991     HRESULT defer([in] VARIANT_BOOL v);
20992
20993     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
20994     HRESULT defer([retval, out] VARIANT_BOOL *p);
20995
20996     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
20997     HRESULT readyState([retval, out] BSTR *p);
20998
20999     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
21000     HRESULT onerror([in] VARIANT v);
21001
21002     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
21003     HRESULT onerror([retval, out] VARIANT *p);
21004
21005     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
21006     HRESULT type([in] BSTR v);
21007
21008     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
21009     HRESULT type([retval, out] BSTR *p);
21010 }
21011
21012 /*****************************************************************************
21013  *    IHTMLScriptElement2 interface
21014  */
21015 [
21016     odl,
21017     oleautomation,
21018     dual,
21019     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
21020 ]
21021 interface IHTMLScriptElement2 : IDispatch
21022 {
21023     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
21024     HRESULT charset([in] BSTR v);
21025
21026     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
21027     HRESULT charset([retval, out] BSTR *p);
21028 }
21029
21030 /*****************************************************************************
21031  *    IHTMLFrameBase interface
21032  */
21033 [
21034     odl,
21035     oleautomation,
21036     dual,
21037     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
21038 ]
21039 interface IHTMLFrameBase : IDispatch
21040 {
21041     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
21042     HRESULT src([in] BSTR v);
21043
21044     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
21045     HRESULT src([out, retval] BSTR *p);
21046
21047     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
21048     HRESULT name([in] BSTR v);
21049
21050     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
21051     HRESULT name([out, retval] BSTR *p);
21052
21053     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
21054     HRESULT border([in] VARIANT v);
21055
21056     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
21057     HRESULT border([out, retval] VARIANT *p);
21058
21059     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
21060     HRESULT frameBorder([in] BSTR v);
21061
21062     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
21063     HRESULT frameBorder([out, retval] BSTR *p);
21064
21065     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
21066     HRESULT frameSpacing([in] VARIANT v);
21067
21068     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
21069     HRESULT frameSpacing([out, retval] VARIANT *p);
21070
21071     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
21072     HRESULT marginWidth([in] VARIANT v);
21073
21074     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
21075     HRESULT marginWidth([out, retval] VARIANT *p);
21076
21077     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
21078     HRESULT marginHeight([in] VARIANT v);
21079
21080     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
21081     HRESULT marginHeight([out, retval] VARIANT *p);
21082
21083     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
21084     HRESULT noResize([in] VARIANT_BOOL v);
21085
21086     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
21087     HRESULT noResize([out, retval] VARIANT_BOOL *p);
21088
21089     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
21090     HRESULT scrolling([in] BSTR v);
21091
21092     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
21093     HRESULT scrolling([out, retval] BSTR *p);
21094 }
21095
21096 /*****************************************************************************
21097  *    IHTMLFrameBase2 interface
21098  */
21099 [
21100     odl,
21101     oleautomation,
21102     dual,
21103     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
21104 ]
21105 interface IHTMLFrameBase2 : IDispatch
21106 {
21107     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
21108     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
21109
21110     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
21111     HRESULT onload([in] VARIANT v);
21112
21113     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
21114     HRESULT onload([retval, out] VARIANT *p);
21115
21116     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
21117     HRESULT onreadystatechange([in] VARIANT v);
21118
21119     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
21120     HRESULT onreadystatechange([retval, out] VARIANT *p);
21121
21122     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
21123     HRESULT readyState([retval, out] BSTR *p);
21124
21125     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
21126     HRESULT allowTransparency([in] VARIANT_BOOL v);
21127
21128     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
21129     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
21130 }
21131
21132 /*****************************************************************************
21133  *    DispHTMLIFrame dispinterface
21134  */
21135 [
21136     hidden,
21137     uuid(3050f51b-98b5-11cf-bb82-00aa00bdce0b)
21138 ]
21139 dispinterface DispHTMLIFrame
21140 {
21141 properties:
21142 methods:
21143     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
21144     void setAttribute(
21145             [in] BSTR strAttributeName,
21146             [in] VARIANT AttributeValue,
21147             [in, defaultvalue(1)] LONG lFlags);
21148
21149     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
21150     VARIANT getAttribute(
21151              [in] BSTR strAttributeName,
21152              [in, defaultvalue(0)] LONG lFlags);
21153
21154     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
21155     VARIANT_BOOL removeAttribute(
21156             [in] BSTR strAttributeName,
21157             [in, defaultvalue(1)] LONG lFlags);
21158
21159     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
21160     void className(BSTR v);
21161
21162     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
21163     BSTR className();
21164
21165     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
21166     void id(BSTR v);
21167
21168     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
21169     BSTR id();
21170
21171     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
21172     BSTR tagName();
21173
21174     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
21175     IHTMLElement *parentElement();
21176
21177     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
21178     IHTMLStyle *style();
21179
21180     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
21181     void onhelp(VARIANT v);
21182
21183     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
21184     VARIANT onhelp();
21185
21186     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
21187     void onclick(VARIANT v);
21188
21189     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
21190     VARIANT onclick();
21191
21192     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
21193     void ondblclick(VARIANT v);
21194
21195     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
21196     VARIANT ondblclick();
21197
21198     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
21199     void onkeydown(VARIANT v);
21200
21201     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
21202     VARIANT onkeydown();
21203
21204     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
21205     void onkeyup(VARIANT v);
21206
21207     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
21208     VARIANT onkeyup();
21209
21210     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
21211     void onkeypress(VARIANT v);
21212
21213     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
21214     VARIANT onkeypress();
21215
21216     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
21217     void onmouseout(VARIANT v);
21218
21219     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
21220     VARIANT onmouseout();
21221
21222     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
21223     void onmouseover(VARIANT v);
21224
21225     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
21226     VARIANT onmouseover();
21227
21228     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
21229     void onmousemove(VARIANT v);
21230
21231     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
21232     VARIANT onmousemove();
21233
21234     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
21235     void onmousedown(VARIANT v);
21236
21237     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
21238     VARIANT onmousedown();
21239
21240     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
21241     void onmouseup(VARIANT v);
21242
21243     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
21244     VARIANT onmouseup();
21245
21246     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
21247     IDispatch *document();
21248
21249     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
21250     void title(BSTR v);
21251
21252     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
21253     BSTR title();
21254
21255     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
21256     void language(BSTR v);
21257
21258     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
21259     BSTR language();
21260
21261     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
21262     void onselectstart(VARIANT v);
21263
21264     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
21265     VARIANT onselectstart();
21266
21267     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
21268     void scrollIntoView([in, optional] VARIANT varargStart);
21269
21270     [id(DISPID_IHTMLELEMENT_CONTAINS)]
21271     VARIANT_BOOL contains([in] IHTMLElement *pChild);
21272
21273     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
21274     LONG sourceIndex();
21275
21276     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
21277     VARIANT recordNumber();
21278
21279     [propput, id(DISPID_IHTMLELEMENT_LANG)]
21280     void lang(BSTR v);
21281
21282     [propget, id(DISPID_IHTMLELEMENT_LANG)]
21283     BSTR lang();
21284
21285     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
21286     LONG offsetLeft();
21287
21288     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
21289     LONG offsetTop();
21290
21291     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
21292     LONG offsetWidth();
21293
21294     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
21295     LONG offsetHeight();
21296
21297     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
21298     IHTMLElement *offsetParent();
21299
21300     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
21301     void innerHTML(BSTR v);
21302
21303     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
21304     BSTR innerHTML();
21305
21306     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
21307     void innerText(BSTR v);
21308
21309     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
21310     BSTR innerText();
21311
21312     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
21313     void outerHTML(BSTR v);
21314
21315     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
21316     BSTR outerHTML();
21317
21318     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
21319     void outerText(BSTR v);
21320
21321     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
21322     BSTR outerText();
21323
21324     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
21325     void insertAdjacentHTML(
21326             [in] BSTR where,
21327             [in] BSTR html);
21328
21329     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
21330     void insertAdjacentText(
21331             [in] BSTR where,
21332             [in] BSTR text);
21333
21334     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
21335     IHTMLElement *parentTextEdit();
21336
21337     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
21338     VARIANT_BOOL isTextEdit();
21339
21340     [id(DISPID_IHTMLELEMENT_CLICK)]
21341     void click();
21342
21343     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
21344     IHTMLFiltersCollection *filters();
21345
21346     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
21347     void ondragstart(VARIANT v);
21348
21349     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
21350     VARIANT ondragstart();
21351
21352     [id(DISPID_IHTMLELEMENT_TOSTRING)]
21353     BSTR toString();
21354
21355     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
21356     void onbeforeupdate(VARIANT v);
21357
21358     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
21359     VARIANT onbeforeupdate();
21360
21361     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
21362     void onafterupdate(VARIANT v);
21363
21364     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
21365     VARIANT onafterupdate();
21366
21367     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
21368     void onerrorupdate(VARIANT v);
21369
21370     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
21371     VARIANT onerrorupdate();
21372
21373     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
21374     void onrowexit(VARIANT v);
21375
21376     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
21377     VARIANT onrowexit();
21378
21379     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
21380     void onrowenter(VARIANT v);
21381
21382     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
21383     VARIANT onrowenter();
21384
21385     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
21386     void ondatasetchanged(VARIANT v);
21387
21388     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
21389     VARIANT ondatasetchanged();
21390
21391     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
21392     void ondataavailable(VARIANT v);
21393
21394     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
21395     VARIANT ondataavailable();
21396
21397     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
21398     void ondatasetcomplete(VARIANT v);
21399
21400     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
21401     VARIANT ondatasetcomplete();
21402
21403     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
21404     void onfilterchange(VARIANT v);
21405
21406     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
21407     VARIANT onfilterchange();
21408
21409     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
21410     IDispatch *children();
21411
21412     [propget, id(DISPID_IHTMLELEMENT_ALL)]
21413     IDispatch *all();
21414
21415     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
21416     BSTR scopeName();
21417
21418     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
21419     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
21420
21421     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
21422     void releaseCapture();
21423
21424     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
21425     void onlosecapture(VARIANT v);
21426
21427     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
21428     VARIANT onlosecapture();
21429
21430     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
21431     BSTR componentFromPoint(
21432             [in] LONG x,
21433             [in] LONG y);
21434
21435     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
21436     void doScroll([in, optional] VARIANT component);
21437
21438     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
21439     void onscroll(VARIANT v);
21440
21441     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
21442     VARIANT onscroll();
21443
21444     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
21445     void ondrag(VARIANT v);
21446
21447     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
21448     VARIANT ondrag();
21449
21450     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
21451     void ondragend(VARIANT v);
21452
21453     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
21454     VARIANT ondragend();
21455
21456     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
21457     void ondragenter(VARIANT v);
21458
21459     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
21460     VARIANT ondragenter();
21461
21462     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
21463     void ondragover(VARIANT v);
21464
21465     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
21466     VARIANT ondragover();
21467
21468     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
21469     void ondragleave(VARIANT v);
21470
21471     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
21472     VARIANT ondragleave();
21473
21474     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
21475     void ondrop(VARIANT v);
21476
21477     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
21478     VARIANT ondrop();
21479
21480     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
21481     void onbeforecut(VARIANT v);
21482
21483     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
21484     VARIANT onbeforecut();
21485
21486     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
21487     void oncut(VARIANT v);
21488
21489     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
21490     VARIANT oncut();
21491
21492     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
21493     void onbeforecopy(VARIANT v);
21494
21495     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
21496     VARIANT onbeforecopy();
21497
21498     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
21499     void oncopy(VARIANT v);
21500
21501     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
21502     VARIANT oncopy();
21503
21504     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
21505     void onbeforepaste(VARIANT v);
21506
21507     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
21508     VARIANT onbeforepaste();
21509
21510     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
21511     void onpaste(VARIANT v);
21512
21513     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
21514     VARIANT onpaste();
21515
21516     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
21517     IHTMLCurrentStyle *currentStyle();
21518
21519     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
21520     void onpropertychange(VARIANT v);
21521
21522     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
21523     VARIANT onpropertychange();
21524
21525     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
21526     IHTMLRectCollection *getClientRects();
21527
21528     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
21529     IHTMLRect *getBoundingClientRect();
21530
21531     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
21532     void setExpression(
21533             [in] BSTR propname,
21534             [in] BSTR expression,
21535             [in, defaultvalue("")] BSTR language);
21536
21537     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
21538     VARIANT getExpression([in] BSTR propname);
21539
21540     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
21541     VARIANT_BOOL removeExpression([in] BSTR propname);
21542
21543     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
21544     void tabIndex(short v);
21545
21546     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
21547     short tabIndex();
21548
21549     [id(DISPID_IHTMLELEMENT2_FOCUS)]
21550     void focus();
21551
21552     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
21553     void accessKey(BSTR v);
21554
21555     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
21556     BSTR accessKey();
21557
21558     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
21559     void onblur(VARIANT v);
21560
21561     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
21562     VARIANT onblur();
21563
21564     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
21565     void onfocus(VARIANT v);
21566
21567     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
21568     VARIANT onfocus();
21569
21570     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
21571     void onresize(VARIANT v);
21572
21573     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
21574     VARIANT onresize();
21575
21576     [id(DISPID_IHTMLELEMENT2_BLUR)]
21577     void blur();
21578
21579     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
21580     void addFilter([in] IUnknown *pUnk);
21581
21582     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
21583     void removeFilter([in] IUnknown *pUnk);
21584
21585     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
21586     LONG clientHeight();
21587
21588     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
21589     LONG clientWidth();
21590
21591     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
21592     LONG clientTop();
21593
21594     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
21595     LONG clientLeft();
21596
21597     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
21598     VARIANT_BOOL attachEvent(
21599             [in] BSTR event,
21600             [in] IDispatch *pDisp);
21601
21602     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
21603     void detachEvent(
21604             [in] BSTR event,
21605             [in] IDispatch *pDisp);
21606
21607     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
21608     VARIANT readyState();
21609
21610     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
21611     void onreadystatechange(VARIANT v);
21612
21613     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
21614     VARIANT onreadystatechange();
21615
21616     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
21617     void onrowsdelete(VARIANT v);
21618
21619     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
21620     VARIANT onrowsdelete();
21621
21622     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
21623     void onrowsinserted(VARIANT v);
21624
21625     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
21626      VARIANT onrowsinserted();
21627
21628     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
21629      void oncellchange(VARIANT v);
21630
21631     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
21632     VARIANT oncellchange();
21633
21634     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
21635     void dir(BSTR v);
21636
21637     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
21638     BSTR dir();
21639
21640     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
21641     IDispatch *createControlRange();
21642
21643     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
21644     LONG scrollHeight();
21645
21646     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
21647     LONG scrollWidth();
21648
21649     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
21650     void scrollTop(LONG v);
21651
21652     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
21653     LONG scrollTop();
21654
21655     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
21656     void scrollLeft(LONG v);
21657
21658     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
21659     LONG scrollLeft();
21660
21661     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
21662     void clearAttributes();
21663
21664     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
21665     void oncontextmenu(VARIANT v);
21666
21667     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
21668     VARIANT oncontextmenu();
21669
21670     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
21671     IHTMLElement *insertAdjacentElement(
21672             [in] BSTR where,
21673             [in] IHTMLElement *insertedElement);
21674
21675     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
21676     IHTMLElement *applyElement(
21677             [in] IHTMLElement *apply,
21678             [in] BSTR where);
21679
21680     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
21681     BSTR getAdjacentText([in] BSTR where);
21682
21683     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
21684     BSTR replaceAdjacentText(
21685             [in] BSTR where,
21686             [in] BSTR newText);
21687
21688     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
21689     VARIANT_BOOL canHaveChildren();
21690
21691     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
21692     LONG addBehavior(
21693             [in] BSTR bstrUrl,
21694             [in, optional] VARIANT *pvarFactory);
21695
21696     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
21697     VARIANT_BOOL removeBehavior([in] LONG cookie);
21698
21699     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
21700     IHTMLStyle *runtimeStyle();
21701
21702     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
21703     IDispatch *behaviorUrns();
21704
21705     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
21706     void tagUrn(BSTR v);
21707
21708     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
21709     BSTR tagUrn();
21710
21711     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
21712     void onbeforeeditfocus(VARIANT v);
21713
21714     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
21715     VARIANT onbeforeeditfocus();
21716
21717     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
21718     LONG readyStateValue();
21719
21720     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
21721     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
21722
21723     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
21724     void mergeAttributes(
21725             [in] IHTMLElement *mergeThis,
21726             [in, optional] VARIANT *pvarFlags);
21727
21728     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
21729     VARIANT_BOOL isMultiLine();
21730
21731     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
21732     VARIANT_BOOL canHaveHTML();
21733
21734     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
21735     void onlayoutcomplete(VARIANT v);
21736
21737     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
21738     VARIANT onlayoutcomplete();
21739
21740     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
21741     void onpage(VARIANT v);
21742
21743     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
21744     VARIANT onpage();
21745
21746     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
21747     void inflateBlock(VARIANT_BOOL v);
21748
21749     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
21750     VARIANT_BOOL inflateBlock();
21751
21752     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
21753     void onbeforedeactivate(VARIANT v);
21754
21755     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
21756     VARIANT onbeforedeactivate();
21757
21758     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
21759     void setActive();
21760
21761     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
21762     void contentEditable(BSTR v);
21763
21764     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
21765     BSTR contentEditable();
21766
21767     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
21768     VARIANT_BOOL isContentEditable();
21769
21770     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
21771     void hideFocus(VARIANT_BOOL v);
21772
21773     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
21774     VARIANT_BOOL hideFocus();
21775
21776     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
21777     void disabled(VARIANT_BOOL v);
21778
21779     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
21780     VARIANT_BOOL disabled();
21781
21782     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
21783     VARIANT_BOOL isDisabled();
21784
21785     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
21786     void onmove(VARIANT v);
21787
21788     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
21789     VARIANT onmove();
21790
21791     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
21792     void oncontrolselect(VARIANT v);
21793
21794     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
21795     VARIANT oncontrolselect();
21796
21797     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
21798     VARIANT_BOOL fireEvent(
21799             [in] BSTR bstrEventName,
21800             [in, optional] VARIANT *pvarEventObject);
21801
21802     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
21803     void onresizestart(VARIANT v);
21804
21805     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
21806     VARIANT onresizestart();
21807
21808     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
21809     void onresizeend(VARIANT v);
21810
21811     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
21812     VARIANT onresizeend();
21813
21814     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
21815     void onmovestart(VARIANT v);
21816
21817     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
21818     VARIANT onmovestart();
21819
21820     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
21821     void onmoveend(VARIANT v);
21822
21823     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
21824     VARIANT onmoveend();
21825
21826     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
21827     void onmouseenter(VARIANT v);
21828
21829     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
21830     VARIANT onmouseenter();
21831
21832     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
21833     void onmouseleave(VARIANT v);
21834
21835     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
21836     VARIANT onmouseleave();
21837
21838     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
21839     void onactivate(VARIANT v);
21840
21841     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
21842     VARIANT onactivate();
21843
21844     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
21845     void ondeactivate(VARIANT v);
21846
21847     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
21848     VARIANT ondeactivate();
21849
21850     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
21851     VARIANT_BOOL dragDrop();
21852
21853     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
21854     LONG glyphMode();
21855
21856     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
21857     void onmousewheel(VARIANT v);
21858
21859     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
21860     VARIANT onmousewheel();
21861
21862     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
21863     void normalize();
21864
21865     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
21866     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
21867
21868     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
21869     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
21870
21871     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
21872     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
21873
21874     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
21875     void onbeforeactivate(VARIANT v);
21876
21877     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
21878     VARIANT onbeforeactivate();
21879
21880     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
21881     void onfocusin(VARIANT v);
21882
21883     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
21884     VARIANT onfocusin();
21885
21886     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
21887     void onfocusout(VARIANT v);
21888
21889     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
21890     VARIANT onfocusout();
21891
21892     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
21893     LONG uniqueNumber();
21894
21895     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
21896     BSTR uniqueID();
21897
21898     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
21899     LONG nodeType();
21900
21901     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
21902     IHTMLDOMNode *parentNode();
21903
21904     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
21905     VARIANT_BOOL hasChildNodes();
21906
21907     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
21908     IDispatch *childNodes();
21909
21910     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
21911     IDispatch *attributes();
21912
21913     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
21914     IHTMLDOMNode *insertBefore(
21915             [in] IHTMLDOMNode *newChild,
21916             [in, optional] VARIANT refChild);
21917
21918     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
21919     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
21920
21921     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
21922     IHTMLDOMNode *replaceChild(
21923             [in] IHTMLDOMNode *newChild,
21924             [in] IHTMLDOMNode *oldChild);
21925
21926     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
21927     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
21928
21929     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
21930     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
21931
21932     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
21933     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
21934
21935     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
21936     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
21937
21938     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
21939     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
21940
21941     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
21942     BSTR nodeName();
21943
21944     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
21945     void nodeValue(VARIANT v);
21946
21947     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
21948     VARIANT nodeValue();
21949
21950     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
21951     IHTMLDOMNode *firstChild();
21952
21953     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
21954     IHTMLDOMNode *lastChild();
21955
21956     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
21957     IHTMLDOMNode *previousSibling();
21958
21959     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
21960     IHTMLDOMNode *nextSibling();
21961
21962     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
21963     IDispatch *ownerDocument();
21964
21965     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
21966     void dataFld(BSTR v);
21967
21968     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
21969     BSTR dataFld();
21970
21971     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
21972     void dataSrc(BSTR v);
21973
21974     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
21975     BSTR dataSrc();
21976
21977     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
21978     void dataFormatAs(BSTR v);
21979
21980     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
21981     BSTR dataFormatAs();
21982
21983     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
21984     void src(BSTR v);
21985
21986     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
21987     BSTR src();
21988
21989     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
21990     void name(BSTR v);
21991
21992     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
21993     BSTR name();
21994
21995     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
21996     void border(VARIANT v);
21997
21998     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
21999     VARIANT border();
22000
22001     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
22002     void frameBorder(BSTR v);
22003
22004     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
22005     BSTR frameBorder();
22006
22007     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
22008     void frameSpacing(VARIANT v);
22009
22010     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
22011     VARIANT frameSpacing();
22012
22013     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
22014     void marginWidth(VARIANT v);
22015
22016     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
22017     VARIANT marginWidth();
22018
22019     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
22020     void marginHeight(VARIANT v);
22021
22022     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
22023     VARIANT marginHeight();
22024
22025     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
22026     void noResize(VARIANT_BOOL v);
22027
22028     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
22029     VARIANT_BOOL noResize();
22030
22031     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
22032     void scrolling(BSTR v);
22033
22034     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
22035     BSTR scrolling();
22036
22037     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
22038     IHTMLWindow2 *contentWindow();
22039
22040     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
22041     void onload(VARIANT v);
22042
22043     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
22044     VARIANT onload();
22045
22046     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
22047     void allowTransparency(VARIANT_BOOL v);
22048
22049     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
22050     VARIANT_BOOL allowTransparency();
22051
22052     [propput, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
22053     void longDesc(BSTR v);
22054
22055     [propget, id(DISPID_IHTMLFRAMEBASE3_LONGDESC), displaybind, bindable]
22056     BSTR longDesc();
22057
22058     [propput, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
22059     void vspace(LONG v);
22060
22061     [propget, id(DISPID_IHTMLIFRAMEELEMENT_VSPACE)]
22062     LONG vspace();
22063
22064     [propput, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
22065     void hspace(LONG v);
22066
22067     [propget, id(DISPID_IHTMLIFRAMEELEMENT_HSPACE)]
22068     LONG hspace();
22069
22070     [propput, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
22071     void align(BSTR v);
22072
22073     [propget, id(DISPID_IHTMLIFRAMEELEMENT_ALIGN), displaybind, bindable]
22074     BSTR align();
22075
22076     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
22077     void height(VARIANT v);
22078
22079     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_HEIGHT)]
22080     VARIANT height();
22081
22082     [propput, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
22083     void width(VARIANT v);
22084
22085     [propget, id(DISPID_IHTMLIFRAMEELEMENT2_WIDTH)]
22086     VARIANT width();
22087 }
22088
22089 /*****************************************************************************
22090  *    IMarkupContainer interface
22091  */
22092 [
22093     object,
22094     pointer_default(unique),
22095     uuid(3050f5f9-98b5-11cf-bb82-00aa00bdce0B)
22096 ]
22097 interface IMarkupContainer : IUnknown
22098 {
22099     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
22100 }
22101
22102 /*****************************************************************************
22103  *    IMarkupPointer interface
22104  */
22105 [
22106     object,
22107     pointer_default(unique),
22108     uuid(3050f49f-98b5-11cf-bb82-00aa00bdce0b)
22109 ]
22110 interface IMarkupPointer : IUnknown
22111 {
22112     HRESULT OwningDoc([out] IHTMLDocument2 **ppDoc);
22113
22114     HRESULT Gravity([out] POINTER_GRAVITY *pGravity);
22115
22116     HRESULT SetGravity([in] POINTER_GRAVITY Gravity);
22117
22118     HRESULT Cling([out] BOOL *pfCling);
22119
22120     HRESULT SetCling([in] BOOL fCLing);
22121
22122     HRESULT UnPosition();
22123
22124     HRESULT IsPositioned([out] BOOL *pfPositioned);
22125
22126     HRESULT GetContainer([out] IMarkupContainer **ppContainer);
22127
22128     HRESULT MoveAdjacentToElement(
22129         [in] IHTMLElement *pElement,
22130         [in] ELEMENT_ADJACENCY eAdj);
22131
22132     HRESULT MoveToPointer([in] IMarkupPointer *pPointer);
22133
22134     HRESULT MoveToContainer(
22135         [in] IMarkupContainer *pContainer,
22136         [in] BOOL fAtStart);
22137
22138     HRESULT Left(
22139         [in] BOOL fMove,
22140         [out] MARKUP_CONTEXT_TYPE *pContext,
22141         [out] IHTMLElement **ppElement,
22142         [in, out] LONG *pcch,
22143         [out, size_is(*pcch)] OLECHAR *pchText);
22144
22145     HRESULT Right(
22146         [in] BOOL fMove,
22147         [out] MARKUP_CONTEXT_TYPE *pContext,
22148         [out] IHTMLElement **ppElement,
22149         [in, out] LONG *pcch,
22150         [out, size_is(*pcch)] OLECHAR *pchText);
22151
22152     HRESULT CurrentScope([out] IHTMLElement **ppElemCurrent);
22153
22154     HRESULT IsLeftOf(
22155         [in] IMarkupPointer *pPointerThat,
22156         [out] BOOL *pfResult);
22157
22158     HRESULT IsLeftOfOrEqualTo(
22159         [in] IMarkupPointer *pPointerThat,
22160         [out] BOOL *pfResult);
22161
22162     HRESULT IsRightOf(
22163         [in] IMarkupPointer *pPointerThat,
22164         [out] BOOL *pfResult);
22165
22166     HRESULT IsRightOfOrEqualTo(
22167         [in] IMarkupPointer *pPointerThat,
22168         [out] BOOL *pfResult);
22169
22170     HRESULT IsEqualTo(
22171         [in] IMarkupPointer *pPointerThat,
22172         [out] BOOL *pfAreEqual);
22173
22174     HRESULT MoveUnit([in] MOVEUNIT_ACTION muAction);
22175
22176     HRESULT FindText(
22177         [in] OLECHAR *pchFindText,
22178         [in] DWORD dwFlags,
22179         [in] IMarkupPointer *pIEndMatch,
22180         [in] IMarkupPointer *pIEndSearch);
22181 }
22182
22183 /*****************************************************************************
22184  *    ISegment interface
22185  */
22186 [
22187     object,
22188     pointer_default(unique),
22189     uuid(3050f683-98b5-11cf-bb82-00aa00bdce0b)
22190 ]
22191 interface ISegment : IUnknown
22192 {
22193     HRESULT GetPointers(
22194         [in] IMarkupPointer *pIStart,
22195         [in] IMarkupPointer *pIEnd);
22196 }
22197
22198 /*****************************************************************************
22199  *    IElementSegment interface
22200  */
22201 [
22202     object,
22203     pointer_default(unique),
22204     uuid(3050f68f-98b5-11cf-bb82-00aa00bdce0b)
22205 ]
22206 interface IElementSegment : ISegment
22207 {
22208     HRESULT GetElement([out] IHTMLElement **ppIElement);
22209
22210     HRESULT SetPrimary([in] BOOL fPrimary);
22211
22212     HRESULT IsPrimary([out] BOOL *pfPrimary);
22213 }
22214
22215 /*****************************************************************************
22216  *    ISelectionServicesListener interface
22217  */
22218 [
22219     object,
22220     pointer_default(unique),
22221     uuid(3050f699-98b5-11cf-bb82-00aa00bdce0b)
22222 ]
22223 interface ISelectionServicesListener : IUnknown
22224 {
22225     HRESULT BeginSelectionUndo();
22226
22227     HRESULT EndSelectionUndo();
22228
22229     HRESULT OnSelectedElementExit(
22230         [in] IMarkupPointer *pIElementStart,
22231         [in] IMarkupPointer *pIElementEnd,
22232         [in] IMarkupPointer *pIElementContentStart,
22233         [in] IMarkupPointer *pIElementContentEnd);
22234
22235     HRESULT OnChangeType(
22236         [in] SELECTION_TYPE eType,
22237         [in] ISelectionServicesListener *pIListener);
22238
22239     HRESULT GetTypeDetail([out] BSTR *pTypeDetail);
22240 }
22241
22242 /*****************************************************************************
22243  *    ISelectionServices interface
22244  */
22245 [
22246     object,
22247     pointer_default(unique),
22248     uuid(3050f684-98b5-11cf-bb82-00aa00bdce0b)
22249 ]
22250 interface ISelectionServices : IUnknown
22251 {
22252     HRESULT SetSelectionType(
22253         [in] SELECTION_TYPE eType,
22254         [in] ISelectionServicesListener *pIListener);
22255
22256     HRESULT GetMarkupContainer([out] IMarkupContainer **ppIContainer);
22257
22258     HRESULT AddSegment(
22259         [in] IMarkupPointer *pIStart,
22260         [in] IMarkupPointer *pIEnd,
22261         [out] ISegment **ppISegmentAdded);
22262
22263     HRESULT AddElementSegment(
22264         [in] IHTMLElement *pIElement,
22265         [out] IElementSegment **ppISegmentAdded);
22266
22267     HRESULT RemoveSegment([in] ISegment *pISegment);
22268
22269     HRESULT GetSelectionServicesListener([out] ISelectionServicesListener **ppISelectionServicesListener);
22270 }
22271
22272 /*****************************************************************************
22273  *    IHTMLEditDesigner interface
22274  */
22275 [
22276     object,
22277     pointer_default(unique),
22278     uuid(3050f662-98b5-11cf-bb82-00aa00bdce0b)
22279 ]
22280 interface IHTMLEditDesigner : IUnknown
22281 {
22282     HRESULT PreHandleEvent(
22283         [in] DISPID inEvtDispId,
22284         [in] IHTMLEventObj *pIEventObj);
22285
22286     HRESULT PostHandleEvent(
22287         [in] DISPID inEvtDispId,
22288         [in] IHTMLEventObj *pIEventObj);
22289
22290     HRESULT TranslateAccelerator(
22291         [in] DISPID inEvtDispId,
22292         [in] IHTMLEventObj *pIEventObj);
22293
22294     HRESULT PostEditorEventNotify(
22295         [in] DISPID inEvtDispId,
22296         [in] IHTMLEventObj *pIEventObj);
22297 }
22298
22299 /*****************************************************************************
22300  *    IHTMLEditServices interface
22301  */
22302 [
22303     object,
22304     pointer_default(unique),
22305     uuid(3050f663-98b5-11cf-bb82-00aa00bdce0b)
22306 ]
22307 interface IHTMLEditServices : IUnknown
22308 {
22309     HRESULT AddDesigner([in] IHTMLEditDesigner *pIDesigner);
22310
22311     HRESULT RemoveDesigner([in] IHTMLEditDesigner *pIDesigner);
22312
22313     HRESULT GetSelectionServices(
22314         [in] IMarkupContainer *pIContainer,
22315         [out] ISelectionServices **ppSelSvc);
22316
22317     HRESULT MoveToSelectionAnchor([in] IMarkupPointer *pIStartAnchor);
22318
22319     HRESULT MoveToSelectionEnd([in] IMarkupPointer *pIEndAnchor);
22320
22321     HRESULT SelectRange(
22322         [in] IMarkupPointer* pStart,
22323         [in] IMarkupPointer* pEnd,
22324         [in] SELECTION_TYPE eType);
22325 }
22326
22327 } /* library MSHTML */