mshtml.idl: Added DispHTMLGenericElement declaration.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004-2007 Jacek Caban for CodeWeavers
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 #include <mshtmdid.h>
20 #include <mshtmcid.h>
21 #include <olectl.h>
22
23 import "ocidl.idl";
24 import "dimm.idl";
25 import "shtypes.idl";
26
27 cpp_quote("#include <olectl.h>")
28
29 cpp_quote("DEFINE_GUID(SID_SEditCommandTarget,  0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
30 cpp_quote("DEFINE_GUID(SID_SHTMLEditHost,       0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
31 cpp_quote("DEFINE_GUID(SID_SHTMLEditServices,   0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")
32 cpp_quote("#define SID_SHTMLWindow IID_IHTMLWindow2")
33 cpp_quote("#define SID_SElementBehaviorFactory IID_IElementBehaviorFactory")
34
35 interface IHTMLDocument2;
36 interface IHTMLStyleSheetsCollection;
37 interface IHTMLFrameBase;
38
39 /*****************************************************************************
40  *    IHTMLFiltersCollection interface
41  */
42 [
43     odl,
44     oleautomation,
45     dual,
46     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
47 ]
48 interface IHTMLFiltersCollection : IDispatch
49 {
50     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
51     HRESULT length([retval, out] long *p);
52
53     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
54     HRESULT _newEnum([retval, out] IUnknown **p);
55
56     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
57     HRESULT item(
58         [in] VARIANT *pvarIndex,
59         [retval, out] VARIANT *pvarResult);
60 }
61
62 [
63     version(4.0),
64     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
65 ]
66 library MSHTML
67 {
68
69 importlib("stdole2.tlb");
70
71 /*****************************************************************************
72  *    IHTMLStyle interface
73  */
74 [
75     odl,
76     oleautomation,
77     dual,
78     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
79 ]
80 interface IHTMLStyle : IDispatch
81 {
82     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
83     HRESULT fontFamily([in] BSTR v);
84
85     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), bindable, displaybind]
86     HRESULT fontFamily([retval, out] BSTR *p);
87
88     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
89     HRESULT fontStyle([in] BSTR v);
90
91     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), bindable, displaybind]
92     HRESULT fontStyle([retval, out] BSTR *p);
93
94     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
95     HRESULT fontVariant([in] BSTR v);
96
97     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), bindable, displaybind]
98     HRESULT fontVariant([retval, out] BSTR *p);
99
100     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
101     HRESULT fontWeight([in] BSTR v);
102
103     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), bindable, displaybind]
104     HRESULT fontWeight([retval, out] BSTR *p);
105
106     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
107     HRESULT fontSize([in] VARIANT v);
108
109     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), bindable, displaybind]
110     HRESULT fontSize([retval, out] VARIANT *p);
111
112     [propput, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
113     HRESULT font([in] BSTR v);
114
115     [propget, id(DISPID_IHTMLSTYLE_FONT), bindable, displaybind]
116     HRESULT font([retval, out] BSTR *p);
117
118     [propput, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
119     HRESULT color([in] VARIANT v);
120
121     [propget, id(DISPID_IHTMLSTYLE_COLOR), bindable, displaybind]
122     HRESULT color([retval, out] VARIANT *p);
123
124     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
125     HRESULT background([in] BSTR v);
126
127     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), bindable, displaybind]
128     HRESULT background([retval, out] BSTR *p);
129
130     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
131     HRESULT backgroundColor([in] VARIANT v);
132
133     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), bindable, displaybind]
134     HRESULT backgroundColor([retval, out] VARIANT *p);
135
136     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
137     HRESULT backgroundImage([in] BSTR v);
138
139     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), bindable, displaybind]
140     HRESULT backgroundImage([retval, out] BSTR *p);
141
142     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
143     HRESULT backgroundRepeat([in] BSTR v);
144
145     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), bindable, displaybind]
146     HRESULT backgroundRepeat([retval, out] BSTR *p);
147
148     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
149     HRESULT backgroundAttachment([in] BSTR v);
150
151     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
152     HRESULT backgroundAttachment([retval, out] BSTR *p);
153
154     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
155     HRESULT backgroundPosition([in] BSTR v);
156
157     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), bindable, displaybind]
158     HRESULT backgroundPosition([retval, out] BSTR *p);
159
160     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
161     HRESULT backgroundPositionX([in] VARIANT v);
162
163     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
164     HRESULT backgroundPositionX([retval, out] VARIANT *p);
165
166     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
167     HRESULT backgroundPositionY([in] VARIANT v);
168
169     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
170     HRESULT backgroundPositionY([retval, out] VARIANT *p);
171
172     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
173     HRESULT wordSpacing([in] VARIANT v);
174
175     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), bindable, displaybind]
176     HRESULT wordSpacing([retval, out] VARIANT *p);
177
178     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
179     HRESULT letterSpacing([in] VARIANT v);
180
181     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), bindable, displaybind]
182     HRESULT letterSpacing([retval, out] VARIANT *p);
183
184     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
185     HRESULT textDecoration([in] BSTR v);
186
187     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), bindable, displaybind]
188     HRESULT textDecoration([retval, out] BSTR *p);
189
190     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
191     HRESULT textDecorationNone([in] VARIANT_BOOL v);
192
193     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), bindable, displaybind]
194     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
195
196     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
197     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
198
199     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
200     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
201
202     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
203     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
204
205     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
206     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
207
208     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
209     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
210
211     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
212     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
213
214     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
215     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
216
217     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
218     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
219
220     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
221     HRESULT verticalAlign([in] VARIANT v);
222
223     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), bindable, displaybind]
224     HRESULT verticalAlign([retval, out] VARIANT *p);
225
226     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
227     HRESULT textTransform([in] BSTR v);
228
229     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), bindable, displaybind]
230     HRESULT textTransform([retval, out] BSTR *p);
231
232     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
233     HRESULT textAlign([in] BSTR v);
234
235     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), bindable, displaybind]
236     HRESULT textAlign([retval, out] BSTR *p);
237
238     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
239     HRESULT textIndent([in] VARIANT v);
240
241     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), bindable, displaybind]
242     HRESULT textIndent([retval, out] VARIANT *p);
243
244     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
245     HRESULT lineHeight([in] VARIANT v);
246
247     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), bindable, displaybind]
248     HRESULT lineHeight([retval, out] VARIANT *p);
249
250     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
251     HRESULT marginTop([in] VARIANT v);
252
253     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), bindable, displaybind]
254     HRESULT marginTop([retval, out] VARIANT *p);
255
256     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
257     HRESULT marginRight([in] VARIANT v);
258
259     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), bindable, displaybind]
260     HRESULT marginRight([retval, out] VARIANT *p);
261
262     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
263     HRESULT marginBottom([in] VARIANT v);
264
265     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), bindable, displaybind]
266     HRESULT marginBottom([retval, out] VARIANT *p);
267
268     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
269     HRESULT marginLeft([in] VARIANT v);
270
271     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), bindable, displaybind]
272     HRESULT marginLeft([retval, out] VARIANT *p);
273
274     [propput, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
275     HRESULT margin([in] BSTR v);
276
277     [propget, id(DISPID_IHTMLSTYLE_MARGIN), bindable, displaybind]
278     HRESULT margin([retval, out] BSTR *p);
279
280     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
281     HRESULT paddingTop([in] VARIANT v);
282
283     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), bindable, displaybind]
284     HRESULT paddingTop([retval, out] VARIANT *p);
285
286     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
287     HRESULT paddingRight([in] VARIANT v);
288
289     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), bindable, displaybind]
290     HRESULT paddingRight([retval, out] VARIANT *p);
291
292     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
293     HRESULT paddingBottom([in] VARIANT v);
294
295     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), bindable, displaybind]
296     HRESULT paddingBottom([retval, out] VARIANT *p);
297
298     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
299     HRESULT paddingLeft([in] VARIANT v);
300
301     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), bindable, displaybind]
302     HRESULT paddingLeft([retval, out] VARIANT *p);
303
304     [propput, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
305     HRESULT padding([in] BSTR v);
306
307     [propget, id(DISPID_IHTMLSTYLE_PADDING), bindable, displaybind]
308     HRESULT padding([retval, out] BSTR *p);
309
310     [propput, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
311     HRESULT border([in] BSTR v);
312
313     [propget, id(DISPID_IHTMLSTYLE_BORDER), bindable, displaybind]
314     HRESULT border([retval, out] BSTR *p);
315
316     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
317     HRESULT borderTop([in] BSTR v);
318
319     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), bindable, displaybind]
320     HRESULT borderTop([retval, out] BSTR *p);
321
322     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
323     HRESULT borderRight([in] BSTR v);
324
325     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), bindable, displaybind]
326     HRESULT borderRight([retval, out] BSTR *p);
327
328     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
329     HRESULT borderBottom([in] BSTR v);
330
331     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), bindable, displaybind]
332     HRESULT borderBottom([retval, out] BSTR *p);
333
334     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
335     HRESULT borderLeft([in] BSTR v);
336
337     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), bindable, displaybind]
338     HRESULT borderLeft([retval, out] BSTR *p);
339
340     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
341     HRESULT borderColor([in] BSTR v);
342
343     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), bindable, displaybind]
344     HRESULT borderColor([retval, out] BSTR *p);
345
346     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
347     HRESULT borderTopColor([in] VARIANT v);
348
349     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), bindable, displaybind]
350     HRESULT borderTopColor([retval, out] VARIANT *p);
351
352     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
353     HRESULT borderRightColor([in] VARIANT v);
354
355     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
356     HRESULT borderRightColor([retval, out] VARIANT *p);
357
358     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
359     HRESULT borderBottomColor([in] VARIANT v);
360
361     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
362     HRESULT borderBottomColor([retval, out] VARIANT *p);
363
364     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
365     HRESULT borderLeftColor([in] VARIANT v);
366
367     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), bindable, displaybind]
368     HRESULT borderLeftColor([retval, out] VARIANT *p);
369
370     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
371     HRESULT borderWidth([in] BSTR v);
372
373     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), bindable, displaybind]
374     HRESULT borderWidth([retval, out] BSTR *p);
375
376     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
377     HRESULT borderTopWidth([in] VARIANT v);
378
379     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), bindable, displaybind]
380     HRESULT borderTopWidth([retval, out] VARIANT *p);
381
382     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
383     HRESULT borderRightWidth([in] VARIANT v);
384
385     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
386     HRESULT borderRightWidth([retval, out] VARIANT *p);
387
388     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
389     HRESULT borderBottomWidth([in] VARIANT v);
390
391     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
392     HRESULT borderBottomWidth([retval, out] VARIANT *p);
393
394     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
395     HRESULT borderLeftWidth([in] VARIANT v);
396
397     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), bindable, displaybind]
398     HRESULT borderLeftWidth([retval, out] VARIANT *p);
399
400     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
401     HRESULT borderStyle([in] BSTR v);
402
403     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), bindable, displaybind]
404     HRESULT borderStyle([retval, out] BSTR *p);
405
406     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
407     HRESULT borderTopStyle([in] BSTR v);
408
409     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), bindable, displaybind]
410     HRESULT borderTopStyle([retval, out] BSTR *p);
411
412     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
413     HRESULT borderRightStyle([in] BSTR v);
414
415     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
416     HRESULT borderRightStyle([retval, out] BSTR *p);
417
418     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
419     HRESULT borderBottomStyle([in] BSTR v);
420
421     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
422     HRESULT borderBottomStyle([retval, out] BSTR *p);
423
424     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
425     HRESULT borderLeftStyle([in] BSTR v);
426
427     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), bindable, displaybind]
428     HRESULT borderLeftStyle([retval, out] BSTR *p);
429
430     [propput, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
431     HRESULT width([in] VARIANT v);
432
433     [propget, id(DISPID_IHTMLSTYLE_WIDTH), bindable, displaybind]
434     HRESULT width([retval, out] VARIANT *p);
435
436     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
437     HRESULT height([in] VARIANT v);
438
439     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), bindable, displaybind]
440     HRESULT height([retval, out] VARIANT *p);
441
442     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
443     HRESULT styleFloat([in] BSTR v);
444
445     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), bindable, displaybind]
446     HRESULT styleFloat([retval, out] BSTR *p);
447
448     [propput, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
449     HRESULT clear([in] BSTR v);
450
451     [propget, id(DISPID_IHTMLSTYLE_CLEAR), bindable, displaybind]
452     HRESULT clear([retval, out] BSTR *p);
453
454     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
455     HRESULT display([in] BSTR v);
456
457     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), bindable, displaybind]
458     HRESULT display([retval, out] BSTR *p);
459
460     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
461     HRESULT visibility([in] BSTR v);
462
463     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), bindable, displaybind]
464     HRESULT visibility([retval, out] BSTR *p);
465
466     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
467     HRESULT listStyleType([in] BSTR v);
468
469     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), bindable, displaybind]
470     HRESULT listStyleType([retval, out] BSTR *p);
471
472     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
473     HRESULT listStylePosition([in] BSTR v);
474
475     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), bindable, displaybind]
476     HRESULT listStylePosition([retval, out] BSTR *p);
477
478     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
479     HRESULT listStyleImage([in] BSTR v);
480
481     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), bindable, displaybind]
482     HRESULT listStyleImage([retval, out] BSTR *p);
483
484     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
485     HRESULT listStyle([in] BSTR v);
486
487     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), bindable, displaybind]
488     HRESULT listStyle([retval, out] BSTR *p);
489
490     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
491     HRESULT whiteSpace([in] BSTR v);
492
493     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), bindable, displaybind]
494     HRESULT whiteSpace([retval, out] BSTR *p);
495
496     [propput, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
497     HRESULT top([in] VARIANT v);
498
499     [propget, id(DISPID_IHTMLSTYLE_TOP), bindable, displaybind]
500     HRESULT top([retval, out] VARIANT *p);
501
502     [propput, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
503     HRESULT left([in] VARIANT v);
504
505     [propget, id(DISPID_IHTMLSTYLE_LEFT), bindable, displaybind]
506     HRESULT left([retval, out] VARIANT *p);
507
508     [propget, id(DISPID_IHTMLSTYLE_POSITION), bindable, displaybind]
509     HRESULT position([retval, out] BSTR *p);
510
511     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
512     HRESULT zIndex([in] VARIANT v);
513
514     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), bindable, displaybind]
515     HRESULT zIndex([retval, out] VARIANT *p);
516
517     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
518     HRESULT overflow([in] BSTR v);
519
520     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), bindable, displaybind]
521     HRESULT overflow([retval, out] BSTR *p);
522
523     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
524     HRESULT pageBreakBefore([in] BSTR v);
525
526     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), bindable, displaybind]
527     HRESULT pageBreakBefore([retval, out] BSTR *p);
528
529     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
530     HRESULT pageBreakAfter([in] BSTR v);
531
532     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), bindable, displaybind]
533     HRESULT pageBreakAfter([retval, out] BSTR *p);
534
535     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
536     HRESULT cssText([in] BSTR v);
537
538     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), bindable, displaybind]
539     HRESULT cssText([retval, out] BSTR *p);
540
541     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
542     HRESULT pixelTop([in] long v);
543
544     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), bindable, displaybind, hidden]
545     HRESULT pixelTop([retval, out] long *p);
546
547     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
548     HRESULT pixelLeft([in] long v);
549
550     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), bindable, displaybind, hidden]
551     HRESULT pixelLeft([retval, out] long *p);
552
553     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
554     HRESULT pixelWidth([in] long v);
555
556     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), bindable, displaybind, hidden]
557     HRESULT pixelWidth([retval, out] long *p);
558
559     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
560     HRESULT pixelHeight([in] long v);
561
562     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), bindable, displaybind, hidden]
563     HRESULT pixelHeight([retval, out] long *p);
564
565     [propput, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
566     HRESULT posTop([in] float v);
567
568     [propget, id(DISPID_IHTMLSTYLE_POSTOP), bindable, displaybind]
569     HRESULT posTop([retval, out] float *p);
570
571     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
572     HRESULT posLeft([in] float v);
573
574     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), bindable, displaybind]
575     HRESULT posLeft([retval, out] float *p);
576
577     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
578     HRESULT posWidth([in] float v);
579
580     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), bindable, displaybind]
581     HRESULT posWidth([retval, out] float *p);
582
583     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
584     HRESULT posHeight([in] float v);
585
586     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), bindable, displaybind]
587     HRESULT posHeight([retval, out] float *p);
588
589     [propput, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
590     HRESULT cursor([in] BSTR v);
591
592     [propget, id(DISPID_IHTMLSTYLE_CURSOR), bindable, displaybind]
593     HRESULT cursor([retval, out] BSTR *p);
594
595     [propput, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
596     HRESULT clip([in] BSTR v);
597
598     [propget, id(DISPID_IHTMLSTYLE_CLIP), bindable, displaybind]
599     HRESULT clip([retval, out] BSTR *p);
600
601     [propput, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
602     HRESULT filter([in] BSTR v);
603
604     [propget, id(DISPID_IHTMLSTYLE_FILTER), bindable, displaybind]
605     HRESULT filter([retval, out] BSTR *p);
606
607     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
608     HRESULT setAttribute(
609         [in] BSTR strAttributeName,
610         [in] VARIANT AttributeValue,
611         [defaultvalue(1), in] LONG lFlags);
612
613     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
614     HRESULT getAttribute(
615         [in] BSTR strAttributeName,
616         [defaultvalue(0), in] LONG lFlags,
617         [retval, out] VARIANT *AttributeValue);
618
619     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
620     HRESULT removeAttribute(
621         [in] BSTR strAttributeName,
622         [defaultvalue(1), in]
623         LONG lFlags,
624         [retval, out] VARIANT_BOOL *pfSuccess);
625
626     [id(DISPID_IHTMLSTYLE_TOSTRING)]
627     HRESULT toString([retval, out] BSTR *String);
628 }
629
630 /*****************************************************************************
631  *    IHTMLRuleStyle interface
632  */
633 [
634         odl,
635         oleautomation,
636         dual,
637         uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
638 ]
639 interface IHTMLRuleStyle : IDispatch
640 {
641     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
642     HRESULT fontFamily([in] BSTR v);
643
644     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY), bindable, displaybind]
645     HRESULT fontFamily([retval, out] BSTR *p);
646
647     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
648     HRESULT fontStyle([in] BSTR v);
649
650     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE), bindable, displaybind]
651     HRESULT fontStyle([retval, out] BSTR *p);
652
653     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
654     HRESULT fontVariant([in] BSTR v);
655
656     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT), bindable, displaybind]
657     HRESULT fontVariant([retval, out] BSTR *p);
658
659     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
660     HRESULT fontWeight([in] BSTR v);
661
662     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT), bindable, displaybind]
663     HRESULT fontWeight([retval, out] BSTR *p);
664
665     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
666     HRESULT fontSize([in] VARIANT v);
667
668     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE), bindable, displaybind]
669     HRESULT fontSize([retval, out] VARIANT *p);
670
671     [propput, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
672     HRESULT font([in] BSTR v);
673
674     [propget, id(DISPID_IHTMLRULESTYLE_FONT), bindable, displaybind]
675     HRESULT font([retval, out] BSTR *p);
676
677     [propput, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
678     HRESULT color([in] VARIANT v);
679
680     [propget, id(DISPID_IHTMLRULESTYLE_COLOR), bindable, displaybind]
681     HRESULT color([retval, out] VARIANT *p);
682
683     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
684     HRESULT background([in] BSTR v);
685
686     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND), bindable, displaybind]
687     HRESULT background([retval, out] BSTR *p);
688
689     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
690     HRESULT backgroundColor([in] VARIANT v);
691
692     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR), bindable, displaybind]
693     HRESULT backgroundColor([retval, out] VARIANT *p);
694
695     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
696     HRESULT backgroundImage([in] BSTR v);
697
698     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE), bindable, displaybind]
699     HRESULT backgroundImage([retval, out] BSTR *p);
700
701     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
702     HRESULT backgroundRepeat([in] BSTR v);
703
704     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT), bindable, displaybind]
705     HRESULT backgroundRepeat([retval, out] BSTR *p);
706
707     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
708     HRESULT backgroundAttachment([in] BSTR v);
709
710     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT), bindable, displaybind]
711     HRESULT backgroundAttachment([retval, out] BSTR *p);
712
713     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
714     HRESULT backgroundPosition([in] BSTR v);
715
716     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION), bindable, displaybind]
717     HRESULT backgroundPosition([retval, out] BSTR *p);
718
719     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
720     HRESULT backgroundPositionX([in] VARIANT v);
721
722     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX), bindable, displaybind]
723     HRESULT backgroundPositionX([retval, out] VARIANT *p);
724
725     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
726     HRESULT backgroundPositionY([in] VARIANT v);
727
728     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY), bindable, displaybind]
729     HRESULT backgroundPositionY([retval, out] VARIANT *p);
730
731     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
732     HRESULT wordSpacing([in] VARIANT v);
733
734     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING), bindable, displaybind]
735     HRESULT wordSpacing([retval, out] VARIANT *p);
736
737     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
738     HRESULT letterSpacing([in] VARIANT v);
739
740     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING), bindable, displaybind]
741     HRESULT letterSpacing([retval, out] VARIANT *p);
742
743     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
744     HRESULT textDecoration([in] BSTR v);
745
746     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION), bindable, displaybind]
747     HRESULT textDecoration([retval, out] BSTR *p);
748
749     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
750     HRESULT textDecorationNone([in] VARIANT_BOOL v);
751
752     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE), bindable, displaybind]
753     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
754
755     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
756     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
757
758     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE), bindable, displaybind]
759     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
760
761     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
762     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
763
764     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE), bindable, displaybind]
765     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
766
767     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
768     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
769
770     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH), bindable, displaybind]
771     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
772
773     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
774     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
775
776     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK), bindable, displaybind]
777     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
778
779     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
780     HRESULT verticalAlign([in] VARIANT v);
781
782     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN), bindable, displaybind]
783     HRESULT verticalAlign([retval, out] VARIANT *p);
784
785     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
786     HRESULT textTransform([in] BSTR v);
787
788     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM), bindable, displaybind]
789     HRESULT textTransform([retval, out] BSTR *p);
790
791     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
792     HRESULT textAlign([in] BSTR v);
793
794     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN), bindable, displaybind]
795     HRESULT textAlign([retval, out] BSTR *p);
796
797     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
798     HRESULT textIndent([in] VARIANT v);
799
800     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT), bindable, displaybind]
801     HRESULT textIndent([retval, out] VARIANT *p);
802
803     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
804     HRESULT lineHeight([in] VARIANT v);
805
806     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT), bindable, displaybind]
807     HRESULT lineHeight([retval, out] VARIANT *p);
808
809     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
810     HRESULT marginTop([in] VARIANT v);
811
812     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP), bindable, displaybind]
813     HRESULT marginTop([retval, out] VARIANT *p);
814
815     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
816     HRESULT marginRight([in] VARIANT v);
817
818     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT), bindable, displaybind]
819     HRESULT marginRight([retval, out] VARIANT *p);
820
821     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
822     HRESULT marginBottom([in] VARIANT v);
823
824     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM), bindable, displaybind]
825     HRESULT marginBottom([retval, out] VARIANT *p);
826
827     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
828     HRESULT marginLeft([in] VARIANT v);
829
830     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT), bindable, displaybind]
831     HRESULT marginLeft([retval, out] VARIANT *p);
832
833     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
834     HRESULT margin([in] BSTR v);
835
836     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN), bindable, displaybind]
837     HRESULT margin([retval, out] BSTR *p);
838
839     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
840     HRESULT paddingTop([in] VARIANT v);
841
842     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP), bindable, displaybind]
843     HRESULT paddingTop([retval, out] VARIANT *p);
844
845     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
846     HRESULT paddingRight([in] VARIANT v);
847
848     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT), bindable, displaybind]
849     HRESULT paddingRight([retval, out] VARIANT *p);
850
851     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
852     HRESULT paddingBottom([in] VARIANT v);
853
854     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM), bindable, displaybind]
855     HRESULT paddingBottom([retval, out] VARIANT *p);
856
857     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
858     HRESULT paddingLeft([in] VARIANT v);
859
860     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT), bindable, displaybind]
861     HRESULT paddingLeft([retval, out] VARIANT *p);
862
863     [propput, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
864     HRESULT padding([in] BSTR v);
865
866     [propget, id(DISPID_IHTMLRULESTYLE_PADDING), bindable, displaybind]
867     HRESULT padding([retval, out] BSTR *p);
868
869     [propput, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
870     HRESULT border([in] BSTR v);
871
872     [propget, id(DISPID_IHTMLRULESTYLE_BORDER), bindable, displaybind]
873     HRESULT border([retval, out] BSTR *p);
874
875     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
876     HRESULT borderTop([in] BSTR v);
877
878     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP), bindable, displaybind]
879     HRESULT borderTop([retval, out] BSTR *p);
880
881     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
882     HRESULT borderRight([in] BSTR v);
883
884     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT), bindable, displaybind]
885     HRESULT borderRight([retval, out] BSTR *p);
886
887     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
888     HRESULT borderBottom([in] BSTR v);
889
890     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM), bindable, displaybind]
891     HRESULT borderBottom([retval, out] BSTR *p);
892
893     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
894     HRESULT borderLeft([in] BSTR v);
895
896     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT), bindable, displaybind]
897     HRESULT borderLeft([retval, out] BSTR *p);
898
899     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
900     HRESULT borderColor([in] BSTR v);
901
902     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR), bindable, displaybind]
903     HRESULT borderColor([retval, out] BSTR *p);
904
905     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
906     HRESULT borderTopColor([in] VARIANT v);
907
908     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR), bindable, displaybind]
909     HRESULT borderTopColor([retval, out] VARIANT *p);
910
911     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
912     HRESULT borderRightColor([in] VARIANT v);
913
914     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR), bindable, displaybind]
915     HRESULT borderRightColor([retval, out] VARIANT *p);
916
917     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
918     HRESULT borderBottomColor([in] VARIANT v);
919
920     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR), bindable, displaybind]
921     HRESULT borderBottomColor([retval, out] VARIANT *p);
922
923     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
924     HRESULT borderLeftColor([in] VARIANT v);
925
926     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR), bindable, displaybind]
927     HRESULT borderLeftColor([retval, out] VARIANT *p);
928
929     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
930     HRESULT borderWidth([in] BSTR v);
931
932     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH), bindable, displaybind]
933     HRESULT borderWidth([retval, out] BSTR *p);
934
935     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
936     HRESULT borderTopWidth([in] VARIANT v);
937
938     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH), bindable, displaybind]
939     HRESULT borderTopWidth([retval, out] VARIANT *p);
940
941     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
942     HRESULT borderRightWidth([in] VARIANT v);
943
944     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH), bindable, displaybind]
945     HRESULT borderRightWidth([retval, out] VARIANT *p);
946
947     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
948     HRESULT borderBottomWidth([in] VARIANT v);
949
950     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH), bindable, displaybind]
951     HRESULT borderBottomWidth([retval, out] VARIANT *p);
952
953     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
954     HRESULT borderLeftWidth([in] VARIANT v);
955
956     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH), bindable, displaybind]
957     HRESULT borderLeftWidth([retval, out] VARIANT *p);
958
959     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
960     HRESULT borderStyle([in] BSTR v);
961
962     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE), bindable, displaybind]
963     HRESULT borderStyle([retval, out] BSTR *p);
964
965     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
966     HRESULT borderTopStyle([in] BSTR v);
967
968     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE), bindable, displaybind]
969     HRESULT borderTopStyle([retval, out] BSTR *p);
970
971     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
972     HRESULT borderRightStyle([in] BSTR v);
973
974     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE), bindable, displaybind]
975     HRESULT borderRightStyle([retval, out] BSTR *p);
976
977     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
978     HRESULT borderBottomStyle([in] BSTR v);
979
980     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE), bindable, displaybind]
981     HRESULT borderBottomStyle([retval, out] BSTR *p);
982
983     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
984     HRESULT borderLeftStyle([in] BSTR v);
985
986     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE), bindable, displaybind]
987     HRESULT borderLeftStyle([retval, out] BSTR *p);
988
989     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
990     HRESULT width([in] VARIANT v);
991
992     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH), bindable, displaybind]
993     HRESULT width([retval, out] VARIANT *p);
994
995     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
996     HRESULT height([in] VARIANT v);
997
998     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT), bindable, displaybind]
999     HRESULT height([retval, out] VARIANT *p);
1000
1001     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1002     HRESULT styleFloat([in] BSTR v);
1003
1004     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT), bindable, displaybind]
1005     HRESULT styleFloat([retval, out] BSTR *p);
1006
1007     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1008     HRESULT clear([in] BSTR v);
1009
1010     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR), bindable, displaybind]
1011     HRESULT clear([retval, out] BSTR *p);
1012
1013     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1014     HRESULT display([in] BSTR v);
1015
1016     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY), bindable, displaybind]
1017     HRESULT display([retval, out] BSTR *p);
1018
1019     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1020     HRESULT visibility([in] BSTR v);
1021
1022     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY), bindable, displaybind]
1023     HRESULT visibility([retval, out] BSTR *p);
1024
1025     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1026     HRESULT listStyleType([in] BSTR v);
1027
1028     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE), bindable, displaybind]
1029     HRESULT listStyleType([retval, out] BSTR *p);
1030
1031     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1032     HRESULT listStylePosition([in] BSTR v);
1033
1034     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION), bindable, displaybind]
1035     HRESULT listStylePosition([retval, out] BSTR *p);
1036
1037     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1038     HRESULT listStyleImage([in] BSTR v);
1039
1040     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE), bindable, displaybind]
1041     HRESULT listStyleImage([retval, out] BSTR *p);
1042
1043     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1044     HRESULT listStyle([in] BSTR v);
1045
1046     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE), bindable, displaybind]
1047     HRESULT listStyle([retval, out] BSTR *p);
1048
1049     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1050     HRESULT whiteSpace([in] BSTR v);
1051
1052     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE), bindable, displaybind]
1053     HRESULT whiteSpace([retval, out] BSTR *p);
1054
1055     [propput, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1056     HRESULT top([in] VARIANT v);
1057
1058     [propget, id(DISPID_IHTMLRULESTYLE_TOP), bindable, displaybind]
1059     HRESULT top([retval, out] VARIANT *p);
1060
1061     [propput, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1062     HRESULT left([in] VARIANT v);
1063
1064     [propget, id(DISPID_IHTMLRULESTYLE_LEFT), bindable, displaybind]
1065     HRESULT left([retval, out] VARIANT *p);
1066
1067     [propget, id(DISPID_IHTMLRULESTYLE_POSITION), bindable, displaybind]
1068     HRESULT position([retval, out] BSTR *p);
1069
1070     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1071     HRESULT zIndex([in] VARIANT v);
1072
1073     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX), bindable, displaybind]
1074     HRESULT zIndex([retval, out] VARIANT *p);
1075
1076     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1077     HRESULT overflow([in] BSTR v);
1078
1079     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW), bindable, displaybind]
1080     HRESULT overflow([retval, out] BSTR *p);
1081
1082     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1083     HRESULT pageBreakBefore([in] BSTR v);
1084
1085     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE), bindable, displaybind]
1086     HRESULT pageBreakBefore([retval, out] BSTR *p);
1087
1088     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1089     HRESULT pageBreakAfter([in] BSTR v);
1090
1091     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER), bindable, displaybind]
1092     HRESULT pageBreakAfter([retval, out] BSTR *p);
1093
1094     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1095     HRESULT cssText([in] BSTR v);
1096
1097     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT), bindable, displaybind]
1098     HRESULT cssText([retval, out] BSTR *p);
1099
1100     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1101     HRESULT cursor([in] BSTR v);
1102
1103     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR), bindable, displaybind]
1104     HRESULT cursor([retval, out] BSTR *p);
1105
1106     [propput, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1107     HRESULT clip([in] BSTR v);
1108
1109     [propget, id(DISPID_IHTMLRULESTYLE_CLIP), bindable, displaybind]
1110     HRESULT clip([retval, out] BSTR *p);
1111
1112     [propput, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1113     HRESULT filter([in] BSTR v);
1114
1115     [propget, id(DISPID_IHTMLRULESTYLE_FILTER), bindable, displaybind]
1116     HRESULT filter([retval, out] BSTR *p);
1117
1118     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1119     HRESULT setAttribute(
1120         [in] BSTR strAttributeName,
1121         [in] VARIANT AttributeValue,
1122         [defaultvalue(1), in] LONG lFlags);
1123
1124     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1125     HRESULT getAttribute(
1126         [in] BSTR strAttributeName,
1127         [defaultvalue(0), in] LONG lFlags,
1128         [retval, out] VARIANT *AttributeValue);
1129
1130     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1131     HRESULT removeAttribute(
1132         [in] BSTR strAttributeName,
1133         [defaultvalue(1), in] LONG lFlags,
1134         [retval, out] VARIANT_BOOL *pfSuccess);
1135 }
1136
1137 /*****************************************************************************
1138  *    DispHTMLStyle dispinterface
1139  */
1140 [
1141     hidden,
1142     uuid(3050f55a-98b5-11cf-bb82-00aa00bdce0b)
1143 ]
1144 dispinterface DispHTMLStyle
1145 {
1146 properties:
1147 methods:
1148     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1149     void fontFamily(BSTR v);
1150
1151     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY), displaybind, bindable]
1152     BSTR fontFamily();
1153
1154     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1155     void fontStyle(BSTR v);
1156
1157     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE), displaybind, bindable]
1158     BSTR fontStyle();
1159
1160     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1161     void fontVariant(BSTR v);
1162
1163     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT), displaybind, bindable]
1164     BSTR fontVariant();
1165
1166     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1167     void fontWeight(BSTR v);
1168
1169     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT), displaybind, bindable]
1170     BSTR fontWeight();
1171
1172     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1173     void fontSize(VARIANT v);
1174
1175     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE), displaybind, bindable]
1176     VARIANT fontSize();
1177
1178     [propput, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1179     void font(BSTR v);
1180
1181     [propget, id(DISPID_IHTMLSTYLE_FONT), displaybind, bindable, nonbrowsable]
1182     BSTR font();
1183
1184     [propput, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1185     void color(VARIANT v);
1186
1187     [propget, id(DISPID_IHTMLSTYLE_COLOR), displaybind, bindable]
1188     VARIANT color();
1189
1190     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1191     void background(BSTR v);
1192
1193     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND), displaybind, bindable, nonbrowsable]
1194     BSTR background();
1195
1196     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1197     void backgroundColor(VARIANT v);
1198
1199     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1200     VARIANT backgroundColor();
1201
1202     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1203     void backgroundImage(BSTR v);
1204
1205     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1206     BSTR backgroundImage();
1207
1208     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1209     void backgroundRepeat(BSTR v);
1210
1211     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1212     BSTR backgroundRepeat();
1213
1214     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1215     void backgroundAttachment(BSTR v);
1216
1217     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1218     BSTR backgroundAttachment();
1219
1220     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1221     void backgroundPosition(BSTR v);
1222
1223     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION), displaybind, bindable, nonbrowsable]
1224     BSTR backgroundPosition();
1225
1226     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1227     void backgroundPositionX(VARIANT v);
1228
1229     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1230     VARIANT backgroundPositionX();
1231
1232     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1233     void backgroundPositionY(VARIANT v);
1234
1235     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1236     VARIANT backgroundPositionY();
1237
1238     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1239     void wordSpacing(VARIANT v);
1240
1241     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING), displaybind, bindable]
1242     VARIANT wordSpacing();
1243
1244     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1245     void letterSpacing(VARIANT v);
1246
1247     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING), displaybind, bindable]
1248     VARIANT letterSpacing();
1249
1250     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1251     void textDecoration(BSTR v);
1252
1253     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION), displaybind, bindable]
1254     BSTR textDecoration();
1255
1256     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1257     void textDecorationNone(VARIANT_BOOL v);
1258
1259     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE), displaybind, bindable]
1260     VARIANT_BOOL textDecorationNone();
1261
1262     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1263     void textDecorationUnderline(VARIANT_BOOL v);
1264
1265     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE), displaybind, bindable]
1266     VARIANT_BOOL textDecorationUnderline();
1267
1268     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1269     void textDecorationOverline(VARIANT_BOOL v);
1270
1271     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE), displaybind, bindable]
1272     VARIANT_BOOL textDecorationOverline();
1273
1274     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1275     void textDecorationLineThrough(VARIANT_BOOL v);
1276
1277     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH), displaybind, bindable]
1278     VARIANT_BOOL textDecorationLineThrough();
1279
1280     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1281     void textDecorationBlink(VARIANT_BOOL v);
1282
1283     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK), displaybind, bindable]
1284     VARIANT_BOOL textDecorationBlink();
1285
1286     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1287     void verticalAlign(VARIANT v);
1288
1289     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN), displaybind, bindable]
1290     VARIANT verticalAlign();
1291
1292     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1293     void textTransform(BSTR v);
1294
1295     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM), displaybind, bindable]
1296     BSTR textTransform();
1297
1298     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1299     void textAlign(BSTR v);
1300
1301     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN), displaybind, bindable]
1302     BSTR textAlign();
1303
1304     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1305     void textIndent(VARIANT v);
1306
1307     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT), displaybind, bindable]
1308     VARIANT textIndent();
1309
1310     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1311     void lineHeight(VARIANT v);
1312
1313     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT), displaybind, bindable]
1314     VARIANT lineHeight();
1315
1316     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1317     void marginTop(VARIANT v);
1318
1319     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP), displaybind, bindable]
1320     VARIANT marginTop();
1321
1322     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1323     void marginRight(VARIANT v);
1324
1325     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT), displaybind, bindable]
1326     VARIANT marginRight();
1327
1328     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1329     void marginBottom(VARIANT v);
1330
1331     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM), displaybind, bindable]
1332     VARIANT marginBottom();
1333
1334     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1335     void marginLeft(VARIANT v);
1336
1337     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT), displaybind, bindable]
1338     VARIANT marginLeft();
1339
1340     [propput, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1341     void margin(BSTR v);
1342
1343     [propget, id(DISPID_IHTMLSTYLE_MARGIN), displaybind, bindable, nonbrowsable]
1344     BSTR margin();
1345
1346     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1347     void paddingTop(VARIANT v);
1348
1349     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP), displaybind, bindable]
1350     VARIANT paddingTop();
1351
1352     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1353     void paddingRight(VARIANT v);
1354
1355     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT), displaybind, bindable]
1356     VARIANT paddingRight();
1357
1358     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1359     void paddingBottom(VARIANT v);
1360
1361     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM), displaybind, bindable]
1362     VARIANT paddingBottom();
1363
1364     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1365     void paddingLeft(VARIANT v);
1366
1367     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT), displaybind, bindable]
1368     VARIANT paddingLeft();
1369
1370     [propput, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1371     void padding(BSTR v);
1372
1373     [propget, id(DISPID_IHTMLSTYLE_PADDING), displaybind, bindable, nonbrowsable]
1374     BSTR padding();
1375
1376     [propput, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1377     void border(BSTR v);
1378
1379     [propget, id(DISPID_IHTMLSTYLE_BORDER), displaybind, bindable, nonbrowsable]
1380     BSTR border();
1381
1382     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1383     void borderTop(BSTR v);
1384
1385     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP), displaybind, bindable]
1386     BSTR borderTop();
1387
1388     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1389     void borderRight(BSTR v);
1390
1391     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT), displaybind, bindable]
1392     BSTR borderRight();
1393
1394     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1395     void borderBottom(BSTR v);
1396
1397     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM), displaybind, bindable]
1398     BSTR borderBottom();
1399
1400     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1401     void borderLeft(BSTR v);
1402
1403     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT), displaybind, bindable]
1404     BSTR borderLeft();
1405
1406     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1407     void borderColor(BSTR v);
1408
1409     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR), displaybind, bindable]
1410     BSTR borderColor();
1411
1412     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1413     void borderTopColor(VARIANT v);
1414
1415     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1416     VARIANT borderTopColor();
1417
1418     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1419     void borderRightColor(VARIANT v);
1420
1421     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1422     VARIANT borderRightColor();
1423
1424     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1425     void borderBottomColor(VARIANT v);
1426
1427     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1428     VARIANT borderBottomColor();
1429
1430     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1431     void borderLeftColor(VARIANT v);
1432
1433     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1434     VARIANT borderLeftColor();
1435
1436     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1437     void borderWidth(BSTR v);
1438
1439     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH), displaybind, bindable]
1440     BSTR borderWidth();
1441
1442     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1443     void borderTopWidth(VARIANT v);
1444
1445     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1446     VARIANT borderTopWidth();
1447
1448     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1449     void borderRightWidth(VARIANT v);
1450
1451     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1452     VARIANT borderRightWidth();
1453
1454     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1455     void borderBottomWidth(VARIANT v);
1456
1457     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1458     VARIANT borderBottomWidth();
1459
1460     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1461     void borderLeftWidth(VARIANT v);
1462
1463     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1464     VARIANT borderLeftWidth();
1465
1466     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1467     void borderStyle(BSTR v);
1468
1469     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE), displaybind, bindable]
1470     BSTR borderStyle();
1471
1472     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1473     void borderTopStyle(BSTR v);
1474
1475     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1476     BSTR borderTopStyle();
1477
1478     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1479     void borderRightStyle(BSTR v);
1480
1481     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1482     BSTR borderRightStyle();
1483
1484     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1485     void borderBottomStyle(BSTR v);
1486
1487     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1488     BSTR borderBottomStyle();
1489
1490     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1491     void borderLeftStyle(BSTR v);
1492
1493     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1494     BSTR borderLeftStyle();
1495
1496     [propput, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1497     void width(VARIANT v);
1498
1499     [propget, id(DISPID_IHTMLSTYLE_WIDTH), displaybind, bindable]
1500     VARIANT width();
1501
1502     [propput, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1503     void height(VARIANT v);
1504
1505     [propget, id(DISPID_IHTMLSTYLE_HEIGHT), displaybind, bindable]
1506     VARIANT height();
1507
1508     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1509     void styleFloat(BSTR v);
1510
1511     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT), displaybind, bindable]
1512     BSTR styleFloat();
1513
1514     [propput, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1515     void clear(BSTR v);
1516
1517     [propget, id(DISPID_IHTMLSTYLE_CLEAR), displaybind, bindable]
1518     BSTR clear();
1519
1520     [propput, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1521     void display(BSTR v);
1522
1523     [propget, id(DISPID_IHTMLSTYLE_DISPLAY), displaybind, bindable]
1524     BSTR display();
1525
1526     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1527     void visibility(BSTR v);
1528
1529     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY), displaybind, bindable]
1530     BSTR visibility();
1531
1532     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1533     void listStyleType(BSTR v);
1534
1535     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE), displaybind, bindable]
1536     BSTR listStyleType();
1537
1538     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1539     void listStylePosition(BSTR v);
1540
1541     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1542     BSTR listStylePosition();
1543
1544     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1545     void listStyleImage(BSTR v);
1546
1547     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1548     BSTR listStyleImage();
1549
1550     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1551     void listStyle(BSTR v);
1552
1553     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE), displaybind, bindable, nonbrowsable]
1554     BSTR listStyle();
1555
1556     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1557     void whiteSpace(BSTR v);
1558
1559     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE), displaybind, bindable]
1560     BSTR whiteSpace();
1561
1562     [propput, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1563     void top(VARIANT v);
1564
1565     [propget, id(DISPID_IHTMLSTYLE_TOP), displaybind, bindable]
1566     VARIANT top();
1567
1568     [propput, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1569     void left(VARIANT v);
1570
1571     [propget, id(DISPID_IHTMLSTYLE_LEFT), displaybind, bindable]
1572     VARIANT left();
1573
1574     [propput, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1575     void zIndex(VARIANT v);
1576
1577     [propget, id(DISPID_IHTMLSTYLE_ZINDEX), displaybind, bindable]
1578     VARIANT zIndex();
1579
1580     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1581     void overflow(BSTR v);
1582
1583     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW), displaybind, bindable]
1584     BSTR overflow();
1585
1586     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1587     void pageBreakBefore(BSTR v);
1588
1589     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1590     BSTR pageBreakBefore();
1591
1592     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1593     void pageBreakAfter(BSTR v);
1594
1595     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1596     BSTR pageBreakAfter();
1597
1598     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1599     void cssText(BSTR v);
1600
1601     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT), displaybind, bindable, nonbrowsable]
1602     BSTR cssText();
1603
1604     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1605     void pixelTop(long v);
1606
1607     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP), displaybind, bindable, hidden]
1608     long pixelTop();
1609
1610     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1611     void pixelLeft(long v);
1612
1613     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT), displaybind, bindable, hidden]
1614     long pixelLeft();
1615
1616     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1617     void pixelWidth(long v);
1618
1619     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH), displaybind, bindable, hidden]
1620     long pixelWidth();
1621
1622     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1623     void pixelHeight(long v);
1624
1625     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT), displaybind, bindable, hidden]
1626     long pixelHeight();
1627
1628     [propput, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1629     void posTop(float v);
1630
1631     [propget, id(DISPID_IHTMLSTYLE_POSTOP), displaybind, bindable]
1632     float posTop();
1633
1634     [propput, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1635     void posLeft(float v);
1636
1637     [propget, id(DISPID_IHTMLSTYLE_POSLEFT), displaybind, bindable]
1638     float posLeft();
1639
1640     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1641     void posWidth(float v);
1642
1643     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH), displaybind, bindable]
1644     float posWidth();
1645
1646     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1647     void posHeight(float v);
1648
1649     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT), displaybind, bindable]
1650     float posHeight();
1651
1652     [propput, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1653     void cursor(BSTR v);
1654
1655     [propget, id(DISPID_IHTMLSTYLE_CURSOR), displaybind, bindable]
1656     BSTR cursor();
1657
1658     [propput, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1659     void clip(BSTR v);
1660
1661     [propget, id(DISPID_IHTMLSTYLE_CLIP), displaybind, bindable]
1662     BSTR clip();
1663
1664     [propput, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1665     void filter(BSTR v);
1666
1667     [propget, id(DISPID_IHTMLSTYLE_FILTER), displaybind, bindable]
1668     BSTR filter();
1669
1670     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
1671     void setAttribute(
1672             [in] BSTR strAttributeName,
1673             [in] VARIANT AttributeValue,
1674             [in, defaultvalue(1)] LONG lFlags);
1675
1676     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
1677     VARIANT getAttribute(
1678             [in] BSTR strAttributeName,
1679             [in, defaultvalue(0)] LONG lFlags);
1680
1681     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
1682     VARIANT_BOOL removeAttribute(
1683             [in] BSTR strAttributeName,
1684             [in, defaultvalue(1)] LONG lFlags);
1685
1686     [id(DISPID_IHTMLSTYLE_TOSTRING)]
1687     BSTR toString();
1688
1689     [propput, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1690     void tableLayout(BSTR v);
1691
1692     [propget, id(DISPID_IHTMLSTYLE2_TABLELAYOUT), displaybind, bindable]
1693     BSTR tableLayout();
1694
1695     [propput, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1696     void borderCollapse(BSTR v);
1697
1698     [propget, id(DISPID_IHTMLSTYLE2_BORDERCOLLAPSE), displaybind, bindable]
1699     BSTR borderCollapse();
1700
1701     [propput, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1702     void direction(BSTR v);
1703
1704     [propget, id(DISPID_IHTMLSTYLE2_DIRECTION), displaybind, bindable]
1705     BSTR direction();
1706
1707     [propput, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1708     void behavior(BSTR v);
1709
1710     [propget, id(DISPID_IHTMLSTYLE2_BEHAVIOR), displaybind, bindable]
1711     BSTR behavior();
1712
1713     [id(DISPID_IHTMLSTYLE2_SETEXPRESSION)]
1714     void setExpression(
1715             [in] BSTR propname,
1716             [in] BSTR expression,
1717             [in, defaultvalue("")] BSTR language);
1718
1719     [id(DISPID_IHTMLSTYLE2_GETEXPRESSION)]
1720     VARIANT getExpression([in] BSTR propname);
1721
1722     [id(DISPID_IHTMLSTYLE2_REMOVEEXPRESSION)]
1723     VARIANT_BOOL removeExpression([in] BSTR propname);
1724
1725     [propput, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1726     void position(BSTR v);
1727
1728     [propget, id(DISPID_IHTMLSTYLE2_POSITION), displaybind, bindable]
1729     BSTR position();
1730
1731     [propput, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
1732     void unicodeBidi(BSTR v);
1733
1734     [propget, id(DISPID_IHTMLSTYLE2_UNICODEBIDI), displaybind, bindable]
1735     BSTR unicodeBidi();
1736
1737     [propput, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
1738     void bottom(VARIANT v);
1739
1740     [propget, id(DISPID_IHTMLSTYLE2_BOTTOM), displaybind, bindable]
1741     VARIANT bottom();
1742
1743     [propput, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
1744     void right(VARIANT v);
1745
1746     [propget, id(DISPID_IHTMLSTYLE2_RIGHT), displaybind, bindable]
1747     VARIANT right();
1748
1749     [propput, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
1750     void pixelBottom(long v);
1751
1752     [propget, id(DISPID_IHTMLSTYLE2_PIXELBOTTOM), displaybind, bindable, hidden]
1753     long pixelBottom();
1754
1755     [propput, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
1756     void pixelRight(long v);
1757
1758     [propget, id(DISPID_IHTMLSTYLE2_PIXELRIGHT), displaybind, bindable, hidden]
1759     long pixelRight();
1760
1761     [propput, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
1762     void posBottom(float v);
1763
1764     [propget, id(DISPID_IHTMLSTYLE2_POSBOTTOM), displaybind, bindable]
1765     float posBottom();
1766
1767     [propput, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
1768     void posRight(float v);
1769
1770     [propget, id(DISPID_IHTMLSTYLE2_POSRIGHT), displaybind, bindable]
1771     float posRight();
1772
1773     [propput, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
1774     void imeMode(BSTR v);
1775
1776     [propget, id(DISPID_IHTMLSTYLE2_IMEMODE), displaybind, bindable]
1777     BSTR imeMode();
1778
1779     [propput, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
1780     void rubyAlign(BSTR v);
1781
1782     [propget, id(DISPID_IHTMLSTYLE2_RUBYALIGN), displaybind, bindable]
1783     BSTR rubyAlign();
1784
1785     [propput, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
1786     void rubyPosition(BSTR v);
1787
1788     [propget, id(DISPID_IHTMLSTYLE2_RUBYPOSITION), displaybind, bindable]
1789     BSTR rubyPosition();
1790
1791     [propput, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
1792     void rubyOverhang(BSTR v);
1793
1794     [propget, id(DISPID_IHTMLSTYLE2_RUBYOVERHANG), displaybind, bindable]
1795     BSTR rubyOverhang();
1796
1797     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
1798     void layoutGridChar(VARIANT v);
1799
1800     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDCHAR), displaybind, bindable]
1801     VARIANT layoutGridChar();
1802
1803     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
1804     void layoutGridLine(VARIANT v);
1805
1806     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDLINE), displaybind, bindable]
1807     VARIANT layoutGridLine();
1808
1809     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
1810     void layoutGridMode(BSTR v);
1811
1812     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDMODE), displaybind, bindable]
1813     BSTR layoutGridMode();
1814
1815     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
1816     void layoutGridType(BSTR v);
1817
1818     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRIDTYPE), displaybind, bindable]
1819     BSTR layoutGridType();
1820
1821     [propput, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
1822     void layoutGrid(BSTR v);
1823
1824     [propget, id(DISPID_IHTMLSTYLE2_LAYOUTGRID), displaybind, bindable, nonbrowsable]
1825     BSTR layoutGrid();
1826
1827     [propput, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
1828     void wordBreak(BSTR v);
1829
1830     [propget, id(DISPID_IHTMLSTYLE2_WORDBREAK), displaybind, bindable]
1831     BSTR wordBreak();
1832
1833     [propput, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
1834     void lineBreak(BSTR v);
1835
1836     [propget, id(DISPID_IHTMLSTYLE2_LINEBREAK), displaybind, bindable]
1837     BSTR lineBreak();
1838
1839     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
1840     void textJustify(BSTR v);
1841
1842     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFY), displaybind, bindable]
1843     BSTR textJustify();
1844
1845     [propput, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
1846     void textJustifyTrim(BSTR v);
1847
1848     [propget, id(DISPID_IHTMLSTYLE2_TEXTJUSTIFYTRIM), displaybind, bindable]
1849     BSTR textJustifyTrim();
1850
1851     [propput, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
1852     void textKashida(VARIANT v);
1853
1854     [propget, id(DISPID_IHTMLSTYLE2_TEXTKASHIDA), displaybind, bindable]
1855    VARIANT textKashida();
1856
1857     [propput, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
1858     void textAutospace(BSTR v);
1859
1860     [propget, id(DISPID_IHTMLSTYLE2_TEXTAUTOSPACE), displaybind, bindable]
1861     BSTR textAutospace();
1862
1863     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
1864     void overflowX(BSTR v);
1865
1866     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWX), displaybind, bindable]
1867     BSTR overflowX();
1868
1869     [propput, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
1870     void overflowY(BSTR v);
1871
1872     [propget, id(DISPID_IHTMLSTYLE2_OVERFLOWY), displaybind, bindable]
1873     BSTR overflowY();
1874
1875     [propput, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
1876     void accelerator(BSTR v);
1877
1878     [propget, id(DISPID_IHTMLSTYLE2_ACCELERATOR), displaybind, bindable]
1879     BSTR accelerator();
1880
1881     [propput, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
1882     void layoutFlow(BSTR v);
1883
1884     [propget, id(DISPID_IHTMLSTYLE3_LAYOUTFLOW), displaybind, bindable]
1885     BSTR layoutFlow();
1886
1887     [propput, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
1888     void zoom(VARIANT v);
1889
1890     [propget, id(DISPID_IHTMLSTYLE3_ZOOM), displaybind, bindable]
1891     VARIANT zoom();
1892
1893     [propput, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
1894     void wordWrap(BSTR v);
1895
1896     [propget, id(DISPID_IHTMLSTYLE3_WORDWRAP), displaybind, bindable]
1897     BSTR wordWrap();
1898
1899     [propput, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
1900     void textUnderlinePosition(BSTR v);
1901
1902     [propget, id(DISPID_IHTMLSTYLE3_TEXTUNDERLINEPOSITION), displaybind, bindable]
1903     BSTR textUnderlinePosition();
1904
1905     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
1906     void scrollbarBaseColor(VARIANT v);
1907
1908     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARBASECOLOR), displaybind, bindable]
1909     VARIANT scrollbarBaseColor();
1910
1911     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
1912     void scrollbarFaceColor(VARIANT v);
1913
1914     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARFACECOLOR), displaybind, bindable]
1915     VARIANT scrollbarFaceColor();
1916
1917     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
1918     void scrollbar3dLightColor(VARIANT v);
1919
1920     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBAR3DLIGHTCOLOR), displaybind, bindable]
1921     VARIANT scrollbar3dLightColor();
1922
1923     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
1924     void scrollbarShadowColor(VARIANT v);
1925
1926     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARSHADOWCOLOR), displaybind, bindable]
1927     VARIANT scrollbarShadowColor();
1928
1929     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
1930     void scrollbarHighlightColor(VARIANT v);
1931
1932     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARHIGHLIGHTCOLOR), displaybind, bindable]
1933     VARIANT scrollbarHighlightColor();
1934
1935     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
1936     void scrollbarDarkShadowColor(VARIANT v);
1937
1938     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARDARKSHADOWCOLOR), displaybind, bindable]
1939     VARIANT scrollbarDarkShadowColor();
1940
1941     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
1942     void scrollbarArrowColor(VARIANT v);
1943
1944     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARARROWCOLOR), displaybind, bindable]
1945     VARIANT scrollbarArrowColor();
1946
1947     [propput, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
1948     void scrollbarTrackColor(VARIANT v);
1949
1950     [propget, id(DISPID_IHTMLSTYLE3_SCROLLBARTRACKCOLOR), displaybind, bindable]
1951     VARIANT scrollbarTrackColor();
1952
1953     [propput, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
1954     void writingMode(BSTR v);
1955
1956     [propget, id(DISPID_IHTMLSTYLE3_WRITINGMODE), displaybind, bindable]
1957     BSTR writingMode();
1958
1959     [propput, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
1960     void textAlignLast(BSTR v);
1961
1962     [propget, id(DISPID_IHTMLSTYLE3_TEXTALIGNLAST), displaybind, bindable]
1963     BSTR textAlignLast();
1964
1965     [propput, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
1966     void textKashidaSpace(VARIANT v);
1967
1968     [propget, id(DISPID_IHTMLSTYLE3_TEXTKASHIDASPACE), displaybind, bindable]
1969     VARIANT textKashidaSpace();
1970
1971     [propput, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
1972     void textOverflow(BSTR v);
1973
1974     [propget, id(DISPID_IHTMLSTYLE4_TEXTOVERFLOW), displaybind, bindable]
1975     BSTR textOverflow();
1976
1977     [propput, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
1978     void minHeight(VARIANT v);
1979
1980     [propget, id(DISPID_IHTMLSTYLE4_MINHEIGHT), displaybind, bindable]
1981     VARIANT minHeight();
1982 }
1983
1984 /*****************************************************************************
1985  *    IHTMLRenderStyle interface
1986  */
1987 [
1988     odl,
1989     oleautomation,
1990     dual,
1991     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
1992 ]
1993 interface IHTMLRenderStyle : IDispatch
1994 {
1995     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
1996     HRESULT textLineThroughStyle([in] BSTR v);
1997
1998     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
1999     HRESULT textLineThroughStyle([retval, out] BSTR *p);
2000
2001     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2002     HRESULT textUnderlineStyle([in] BSTR v);
2003
2004     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
2005     HRESULT textUnderlineStyle([retval, out] BSTR *p);
2006
2007     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2008     HRESULT textEffect([in] BSTR v);
2009
2010     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
2011     HRESULT textEffect([retval, out] BSTR *p);
2012
2013     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2014     HRESULT textColor([in] VARIANT v);
2015
2016     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
2017     HRESULT textColor([retval, out] VARIANT *p);
2018
2019     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2020     HRESULT textBackgroundColor([in] VARIANT v);
2021
2022     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
2023     HRESULT textBackgroundColor([retval, out] VARIANT *p);
2024
2025     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2026     HRESULT textDecorationColor([in] VARIANT v);
2027
2028     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
2029     HRESULT textDecorationColor([retval, out] VARIANT *p);
2030
2031     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2032     HRESULT renderingPriority([in] long v);
2033
2034     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
2035     HRESULT renderingPriority([retval, out] long *p);
2036
2037     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2038     HRESULT defaultTextSelection([in] BSTR v);
2039
2040     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
2041     HRESULT defaultTextSelection([retval, out] BSTR *p);
2042
2043     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2044     HRESULT textDecoration([in] BSTR v);
2045
2046     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
2047     HRESULT textDecoration([retval, out] BSTR *p);
2048 }
2049
2050 /*****************************************************************************
2051  *    IHTMLCurrentStyle interface
2052  */
2053 [
2054     odl,
2055     oleautomation,
2056     dual,
2057     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
2058 ]
2059 interface IHTMLCurrentStyle : IDispatch
2060 {
2061     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
2062     HRESULT position([retval, out] BSTR *p);
2063
2064     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
2065     HRESULT styleFloat([retval, out] BSTR *p);
2066
2067     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
2068     HRESULT color([retval, out] VARIANT *p);
2069
2070     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
2071     HRESULT backgroundColor([retval, out] VARIANT *p);
2072
2073     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
2074     HRESULT fontFamily([retval, out] BSTR *p);
2075
2076     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
2077     HRESULT fontStyle([retval, out] BSTR *p);
2078
2079     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
2080     HRESULT fontVariant([retval, out] BSTR *p);
2081
2082     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
2083     HRESULT fontWeight([retval, out] VARIANT *p);
2084
2085     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
2086     HRESULT fontSize([retval, out] VARIANT *p);
2087
2088     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
2089     HRESULT backgroundImage([retval, out] BSTR *p);
2090
2091     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
2092     HRESULT backgroundPositionX([retval, out] VARIANT *p);
2093
2094     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
2095     HRESULT backgroundPositionY([retval, out] VARIANT *p);
2096
2097     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
2098     HRESULT backgroundRepeat([retval, out] BSTR *p);
2099
2100     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
2101     HRESULT borderLeftColor([retval, out] VARIANT *p);
2102
2103     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
2104     HRESULT borderTopColor([retval, out] VARIANT *p);
2105
2106     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
2107     HRESULT borderRightColor([retval, out] VARIANT *p);
2108
2109     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
2110     HRESULT borderBottomColor([retval, out] VARIANT *p);
2111
2112     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
2113     HRESULT borderTopStyle([retval, out] BSTR *p);
2114
2115     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
2116     HRESULT borderRightStyle([retval, out] BSTR *p);
2117
2118     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
2119     HRESULT borderBottomStyle([retval, out] BSTR *p);
2120
2121     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
2122     HRESULT borderLeftStyle([retval, out] BSTR *p);
2123
2124     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
2125     HRESULT borderTopWidth([retval, out] VARIANT *p);
2126
2127     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
2128     HRESULT borderRightWidth([retval, out] VARIANT *p);
2129
2130     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
2131     HRESULT borderBottomWidth([retval, out] VARIANT *p);
2132
2133     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
2134     HRESULT borderLeftWidth([retval, out] VARIANT *p);
2135
2136     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
2137     HRESULT left([retval, out] VARIANT *p);
2138
2139     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
2140     HRESULT top([retval, out] VARIANT *p);
2141
2142     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
2143     HRESULT width([retval, out] VARIANT *p);
2144
2145     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
2146     HRESULT height([retval, out] VARIANT *p);
2147
2148     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
2149     HRESULT paddingLeft([retval, out] VARIANT *p);
2150
2151     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
2152     HRESULT paddingTop([retval, out] VARIANT *p);
2153
2154     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
2155     HRESULT paddingRight([retval, out] VARIANT *p);
2156
2157     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
2158     HRESULT paddingBottom([retval, out] VARIANT *p);
2159
2160     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
2161     HRESULT textAlign([retval, out] BSTR *p);
2162
2163     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
2164     HRESULT textDecoration([retval, out] BSTR *p);
2165
2166     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
2167     HRESULT display([retval, out] BSTR *p);
2168
2169     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
2170     HRESULT visibility([retval, out] BSTR *p);
2171
2172     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
2173     HRESULT zIndex([retval, out] VARIANT *p);
2174
2175     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
2176     HRESULT letterSpacing([retval, out] VARIANT *p);
2177
2178     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
2179     HRESULT lineHeight([retval, out] VARIANT *p);
2180
2181     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
2182     HRESULT textIndent([retval, out] VARIANT *p);
2183
2184     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
2185     HRESULT verticalAlign([retval, out] VARIANT *p);
2186
2187     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
2188     HRESULT backgroundAttachment([retval, out] BSTR *p);
2189
2190     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
2191     HRESULT marginTop([retval, out] VARIANT *p);
2192
2193     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
2194     HRESULT marginRight([retval, out] VARIANT *p);
2195
2196     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
2197     HRESULT marginBottom([retval, out] VARIANT *p);
2198
2199     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
2200     HRESULT marginLeft([retval, out] VARIANT *p);
2201
2202     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
2203     HRESULT clear([retval, out] BSTR *p);
2204
2205     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
2206     HRESULT listStyleType([retval, out] BSTR *p);
2207
2208     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
2209     HRESULT listStylePosition([retval, out] BSTR *p);
2210
2211     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
2212     HRESULT listStyleImage([retval, out] BSTR *p);
2213
2214     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
2215     HRESULT clipTop([retval, out] VARIANT *p);
2216
2217     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
2218     HRESULT clipRight([retval, out] VARIANT *p);
2219
2220     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
2221     HRESULT clipBottom([retval, out] VARIANT *p);
2222
2223     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
2224     HRESULT clipLeft([retval, out] VARIANT *p);
2225
2226     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
2227     HRESULT overflow([retval, out] BSTR *p);
2228
2229     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
2230     HRESULT pageBreakBefore([retval, out] BSTR *p);
2231
2232     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
2233     HRESULT pageBreakAfter([retval, out] BSTR *p);
2234
2235     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
2236     HRESULT cursor([retval, out] BSTR *p);
2237
2238     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
2239     HRESULT tableLayout([retval, out] BSTR *p);
2240
2241     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
2242     HRESULT borderCollapse([retval, out] BSTR *p);
2243
2244     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
2245     HRESULT direction([retval, out] BSTR *p);
2246
2247     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
2248     HRESULT behavior([retval, out] BSTR *p);
2249
2250     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
2251     HRESULT getAttribute(
2252         [in] BSTR strAttributeName,
2253         [defaultvalue(0), in] LONG lFlags,
2254         [retval, out] VARIANT *AttributeValue);
2255
2256     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
2257     HRESULT unicodeBidi([retval, out] BSTR *p);
2258
2259     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
2260     HRESULT right([retval, out] VARIANT *p);
2261
2262     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
2263     HRESULT bottom([retval, out] VARIANT *p);
2264
2265     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
2266     HRESULT imeMode([retval, out] BSTR *p);
2267
2268     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
2269     HRESULT rubyAlign([retval, out] BSTR *p);
2270
2271     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
2272     HRESULT rubyPosition([retval, out] BSTR *p);
2273
2274     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
2275     HRESULT rubyOverhang([retval, out] BSTR *p);
2276
2277     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
2278     HRESULT textAutospace([retval, out] BSTR *p);
2279
2280     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
2281     HRESULT lineBreak([retval, out] BSTR *p);
2282
2283     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
2284     HRESULT wordBreak([retval, out] BSTR *p);
2285
2286     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
2287     HRESULT textJustify([retval, out] BSTR *p);
2288
2289     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
2290     HRESULT textJustifyTrim([retval, out] BSTR *p);
2291
2292     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
2293     HRESULT textKashida([retval, out] VARIANT *p);
2294
2295     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
2296     HRESULT blockDirection([retval, out] BSTR *p);
2297
2298     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
2299     HRESULT layoutGridChar([retval, out] VARIANT *p);
2300
2301     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
2302     HRESULT layoutGridLine([retval, out] VARIANT *p);
2303
2304     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
2305     HRESULT layoutGridMode([retval, out] BSTR *p);
2306
2307     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
2308     HRESULT layoutGridType([retval, out] BSTR *p);
2309
2310     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
2311     HRESULT borderStyle([retval, out] BSTR *p);
2312
2313     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
2314     HRESULT borderColor([retval, out] BSTR *p);
2315
2316     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
2317     HRESULT borderWidth([retval, out] BSTR *p);
2318
2319     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
2320     HRESULT padding([retval, out] BSTR *p);
2321
2322     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
2323     HRESULT margin([retval, out] BSTR *p);
2324
2325     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
2326     HRESULT accelerator([retval, out] BSTR *p);
2327
2328     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
2329     HRESULT overflowX([retval, out] BSTR *p);
2330
2331     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
2332     HRESULT overflowY([retval, out] BSTR *p);
2333
2334     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
2335     HRESULT textTransform([retval, out] BSTR *p);
2336 }
2337
2338 /*****************************************************************************
2339  *    IHTMLRect interface
2340  */
2341 [
2342     odl,
2343     oleautomation,
2344     dual,
2345     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
2346 ]
2347 interface IHTMLRect : IDispatch
2348 {
2349     [propput, id(DISPID_IHTMLRECT_LEFT)]
2350     HRESULT left([in] long v);
2351
2352     [propget, id(DISPID_IHTMLRECT_LEFT)]
2353     HRESULT left([retval, out] long *p);
2354
2355     [propput, id(DISPID_IHTMLRECT_TOP)]
2356     HRESULT top([in] long v);
2357
2358     [propget, id(DISPID_IHTMLRECT_TOP)]
2359     HRESULT top([retval, out] long *p);
2360
2361     [propput, id(DISPID_IHTMLRECT_RIGHT)]
2362     HRESULT right([in] long v);
2363
2364     [propget, id(DISPID_IHTMLRECT_RIGHT)]
2365     HRESULT right([retval, out] long *p);
2366
2367     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
2368     HRESULT bottom([in] long v);
2369
2370     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
2371     HRESULT bottom([retval, out] long *p);
2372 }
2373
2374 /*****************************************************************************
2375  *    IHTMLRectCollection interface
2376  */
2377 [
2378     odl,
2379     oleautomation,
2380     dual,
2381     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
2382 ]
2383 interface IHTMLRectCollection : IDispatch
2384 {
2385     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
2386     HRESULT length([retval, out] long *p);
2387
2388     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
2389     HRESULT _newEnum([retval, out] IUnknown **p);
2390
2391     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
2392     HRESULT item(
2393         [in] VARIANT *pvarIndex,
2394         [retval, out] VARIANT *pvarResult);
2395 }
2396
2397 /*****************************************************************************
2398  *    IHTMLDOMNode interface
2399  */
2400 [
2401     odl,
2402     oleautomation,
2403     dual,
2404     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
2405 ]
2406 interface IHTMLDOMNode : IDispatch
2407 {
2408     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
2409     HRESULT nodeType([retval, out] long *p);
2410
2411     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
2412     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
2413
2414     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
2415     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
2416
2417     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
2418     HRESULT childNodes([retval, out] IDispatch **p);
2419
2420     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
2421     HRESULT attributes([retval, out] IDispatch **p);
2422
2423     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
2424     HRESULT insertBefore(
2425         [in] IHTMLDOMNode *newChild,
2426         [optional, in] VARIANT refChild,
2427         [retval, out] IHTMLDOMNode **node);
2428
2429     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
2430     HRESULT removeChild(
2431         [in] IHTMLDOMNode *oldChild,
2432         [retval, out] IHTMLDOMNode **node);
2433
2434     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
2435     HRESULT replaceChild(
2436         [in] IHTMLDOMNode *newChild,
2437         [in] IHTMLDOMNode *oldChild,
2438         [retval, out] IHTMLDOMNode **node);
2439
2440     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
2441     HRESULT cloneNode(
2442         [in] VARIANT_BOOL fDeep,
2443         [retval, out] IHTMLDOMNode **clonedNode);
2444
2445     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
2446     HRESULT removeNode(
2447         [defaultvalue(0), in] VARIANT_BOOL fDeep,
2448         [retval, out] IHTMLDOMNode **removed);
2449
2450     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
2451     HRESULT swapNode(
2452         [in] IHTMLDOMNode *otherNode,
2453         [retval, out] IHTMLDOMNode **swappedNode);
2454
2455     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
2456     HRESULT replaceNode(
2457         [in] IHTMLDOMNode *replacement,
2458         [retval, out] IHTMLDOMNode **replaced);
2459
2460     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
2461     HRESULT appendChild(
2462         [in] IHTMLDOMNode *newChild,
2463         [retval, out] IHTMLDOMNode **node);
2464
2465     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
2466     HRESULT nodeName([retval, out] BSTR *p);
2467
2468     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2469     HRESULT nodeValue([in] VARIANT v);
2470
2471     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2472     HRESULT nodeValue([retval, out] VARIANT *p);
2473
2474     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
2475     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
2476
2477     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
2478     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
2479
2480     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
2481     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
2482
2483     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
2484     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
2485 }
2486
2487 /*****************************************************************************
2488  *    IHTMLDOMNode2 interface
2489  */
2490 [
2491     odl,
2492     oleautomation,
2493     dual,
2494     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
2495 ]
2496 interface IHTMLDOMNode2 : IDispatch
2497 {
2498     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
2499     HRESULT ownerDocument([retval, out] IDispatch **p);
2500 }
2501
2502 /*****************************************************************************
2503  *    IHTMLDOMAttribute interface
2504  */
2505 [
2506     odl,
2507     oleautomation,
2508     dual,
2509     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
2510 ]
2511 interface IHTMLDOMAttribute : IDispatch
2512 {
2513     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
2514     HRESULT nodeName([retval, out] BSTR *p);
2515
2516     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
2517     HRESULT nodeValue([in] VARIANT v);
2518
2519     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
2520     HRESULT nodeValue([retval, out] VARIANT *p);
2521
2522     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
2523     HRESULT specified([retval, out] VARIANT_BOOL *p);
2524 }
2525
2526 /*****************************************************************************
2527  *    IHTMLDOMTextNode interface
2528  */
2529 [
2530     odl,
2531     oleautomation,
2532     dual,
2533     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
2534 ]
2535 interface IHTMLDOMTextNode : IDispatch
2536 {
2537     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2538     HRESULT data([in] BSTR v);
2539
2540     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2541     HRESULT data([out, retval] BSTR *p);
2542
2543     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
2544     HRESULT toString([out, retval] BSTR *String);
2545
2546     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
2547     HRESULT length([out, retval] long *p);
2548
2549     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
2550     HRESULT splitText(
2551             [in] long offset,
2552             [out, retval] IHTMLDOMNode **pRetNode);
2553 }
2554
2555 /*****************************************************************************
2556  *    IHTMLDOMImplementation interface
2557  */
2558 [
2559     odl,
2560     oleautomation,
2561     dual,
2562     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
2563 ]
2564 interface IHTMLDOMImplementation : IDispatch
2565 {
2566     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
2567     HRESULT hasFeature(
2568         [in] BSTR bstrfeature,
2569         [optional, in] VARIANT version,
2570         [retval, out] VARIANT_BOOL *pfHasFeature);
2571 }
2572
2573 /*****************************************************************************
2574  *    DispHTMLDOMTextNode dispinterface
2575  */
2576 [
2577     hidden,
2578     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
2579 ]
2580 dispinterface DispHTMLDOMTextNode
2581 {
2582 properties:
2583 methods:
2584     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2585     void data(BSTR v);
2586
2587     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
2588     BSTR data();
2589
2590     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
2591     BSTR toString();
2592
2593     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
2594     long length();
2595
2596     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
2597     IHTMLDOMNode *splitText([in] long offset);
2598
2599     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
2600     BSTR substringData(
2601             [in] long offset,
2602             [in] long Count);
2603
2604     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
2605     void appendData([in] BSTR bstrstring);
2606
2607     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
2608     void insertData(
2609             [in] long offset,
2610             [in] BSTR bstrstring);
2611
2612     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
2613     void deleteData(
2614             [in] long offset,
2615             [in] long Count);
2616
2617     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
2618     void replaceData(
2619             [in] long offset,
2620             [in] long Count,
2621             [in] BSTR bstrstring);
2622
2623     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
2624     long nodeType();
2625
2626     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
2627     IHTMLDOMNode *parentNode();
2628
2629     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
2630     VARIANT_BOOL hasChildNodes();
2631
2632     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
2633     IDispatch *childNodes();
2634
2635     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
2636     IDispatch *attributes();
2637
2638     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
2639     IHTMLDOMNode *insertBefore(
2640             [in] IHTMLDOMNode *newChild,
2641             [in, optional] VARIANT refChild);
2642
2643     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
2644     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
2645
2646     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
2647     IHTMLDOMNode *replaceChild(
2648             [in] IHTMLDOMNode *newChild,
2649             [in] IHTMLDOMNode *oldChild);
2650
2651     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
2652     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
2653
2654     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
2655     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
2656
2657     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
2658     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
2659
2660     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
2661     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
2662
2663     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
2664     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
2665
2666     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
2667     BSTR nodeName();
2668
2669     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2670     void nodeValue(VARIANT v);
2671
2672     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
2673     VARIANT nodeValue();
2674
2675     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
2676     IHTMLDOMNode *firstChild();
2677
2678     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
2679     IHTMLDOMNode *lastChild();
2680
2681     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
2682     IHTMLDOMNode *previousSibling();
2683
2684     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
2685     IHTMLDOMNode* nextSibling();
2686
2687     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
2688     IDispatch *ownerDocument();
2689 }
2690
2691 /*****************************************************************************
2692  *    IHTMLDOMChildrenCollection interface
2693  */
2694 [
2695     odl,
2696     oleautomation,
2697     dual,
2698     uuid(3050f5ab-98b5-11cf-bb82-00aa00bdce0b)
2699 ]
2700 interface IHTMLDOMChildrenCollection : IDispatch
2701 {
2702     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
2703     HRESULT length([out, retval] long *p);
2704
2705     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
2706     HRESULT _newEnum([out, retval] IUnknown **p);
2707
2708     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
2709     HRESULT item(
2710             [in] long index,
2711             [out, retval] IDispatch **ppItem);
2712 }
2713
2714 /*****************************************************************************
2715  *    DispDOMChildrenCollection dispinterface
2716  */
2717 [
2718     hidden,
2719     uuid(3050f577-98b5-11cf-bb82-00aa00bdce0b)
2720 ]
2721 dispinterface DispDOMChildrenCollection
2722 {
2723 properties:
2724 methods:
2725     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION_LENGTH)]
2726     long length();
2727
2728     [propget, id(DISPID_IHTMLDOMCHILDRENCOLLECTION__NEWENUM), hidden, restricted]
2729     IUnknown *_newEnum();
2730
2731     [id(DISPID_IHTMLDOMCHILDRENCOLLECTION_ITEM)]
2732     IDispatch *item([in] long index);
2733 }
2734
2735 interface IHTMLElementCollection;
2736
2737 /*****************************************************************************
2738  *    IHTMLElement interface
2739  */
2740 [
2741     odl,
2742     dual,
2743     oleautomation,
2744     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
2745 ]
2746 interface IHTMLElement : IDispatch
2747 {
2748     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
2749     HRESULT setAttribute(
2750         [in] BSTR strAttributeName,
2751         [in] VARIANT AttributeValue,
2752         [defaultvalue(1), in] LONG lFlags);
2753
2754     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
2755     HRESULT getAttribute(
2756         [in] BSTR strAttributeName,
2757         [defaultvalue(0), in] LONG lFlags,
2758         [retval, out] VARIANT *AttributeValue);
2759
2760     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
2761     HRESULT removeAttribute(
2762         [in] BSTR strAttributeName,
2763         [defaultvalue(1), in] LONG lFlags,
2764         [retval, out] VARIANT_BOOL *pfSuccess);
2765
2766     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
2767     HRESULT className([in] BSTR v);
2768
2769     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
2770     HRESULT className([retval, out] BSTR *p);
2771
2772     [propput, id(DISPID_IHTMLELEMENT_ID)]
2773     HRESULT id([in] BSTR v);
2774
2775     [propget, id(DISPID_IHTMLELEMENT_ID)]
2776     HRESULT id([retval, out] BSTR *p);
2777
2778     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
2779     HRESULT tagName([retval, out] BSTR *p);
2780
2781     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
2782     HRESULT parentElement([retval, out] IHTMLElement **p);
2783
2784     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
2785     HRESULT style([retval, out] IHTMLStyle **p);
2786
2787     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
2788     HRESULT onhelp([in] VARIANT v);
2789
2790     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
2791     HRESULT onhelp([retval, out] VARIANT *p);
2792
2793     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
2794     HRESULT onclick([in] VARIANT v);
2795
2796     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
2797     HRESULT onclick([retval, out] VARIANT *p);
2798
2799     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
2800     HRESULT ondblclick([in] VARIANT v);
2801
2802     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
2803     HRESULT ondblclick([retval, out] VARIANT *p);
2804
2805     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
2806     HRESULT onkeydown([in] VARIANT v);
2807
2808     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
2809     HRESULT onkeydown([retval, out] VARIANT *p);
2810
2811     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
2812     HRESULT onkeyup([in] VARIANT v);
2813
2814     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
2815     HRESULT onkeyup([retval, out] VARIANT *p);
2816
2817     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
2818     HRESULT onkeypress([in] VARIANT v);
2819
2820     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
2821     HRESULT onkeypress([retval, out] VARIANT *p);
2822
2823     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
2824     HRESULT onmouseout([in] VARIANT v);
2825
2826     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
2827     HRESULT onmouseout([retval, out] VARIANT *p);
2828
2829     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
2830     HRESULT onmouseover([in] VARIANT v);
2831
2832     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
2833     HRESULT onmouseover([retval, out] VARIANT *p);
2834
2835     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
2836     HRESULT onmousemove([in] VARIANT v);
2837
2838     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
2839     HRESULT onmousemove([retval, out] VARIANT *p);
2840
2841     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
2842     HRESULT onmousedown([in] VARIANT v);
2843
2844     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
2845     HRESULT onmousedown([retval, out] VARIANT *p);
2846
2847     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
2848     HRESULT onmouseup([in] VARIANT v);
2849
2850     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
2851     HRESULT onmouseup([retval, out] VARIANT *p);
2852
2853     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
2854     HRESULT document([retval, out] IDispatch **p);
2855
2856     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
2857     HRESULT title([in] BSTR v);
2858
2859     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
2860     HRESULT title([retval, out] BSTR *p);
2861
2862     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
2863     HRESULT language([in] BSTR v);
2864
2865     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
2866     HRESULT language([retval, out] BSTR *p);
2867
2868     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
2869     HRESULT onselectstart([in] VARIANT v);
2870
2871     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
2872     HRESULT onselectstart([retval, out] VARIANT *p);
2873
2874     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
2875     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
2876
2877     [id(DISPID_IHTMLELEMENT_CONTAINS)]
2878     HRESULT contains(
2879         [in] IHTMLElement *pChild,
2880         [retval, out] VARIANT_BOOL *pfResult);
2881
2882     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
2883     HRESULT sourceIndex([retval, out] long *p);
2884
2885     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
2886     HRESULT recordNumber([retval, out] VARIANT *p);
2887
2888     [propput, id(DISPID_IHTMLELEMENT_LANG)]
2889     HRESULT lang([in] BSTR v);
2890
2891     [propget, id(DISPID_IHTMLELEMENT_LANG)]
2892     HRESULT lang([retval, out] BSTR *p);
2893
2894     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
2895     HRESULT offsetLeft([retval, out] long *p);
2896
2897     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
2898     HRESULT offsetTop([retval, out] long *p);
2899
2900     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
2901     HRESULT offsetWidth([retval, out] long *p);
2902
2903     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
2904     HRESULT offsetHeight([retval, out] long *p);
2905
2906     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
2907     HRESULT offsetParent([retval, out] IHTMLElement **p);
2908
2909     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
2910     HRESULT innerHTML([in] BSTR v);
2911
2912     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
2913     HRESULT innerHTML([retval, out] BSTR *p);
2914
2915     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
2916     HRESULT innerText([in] BSTR v);
2917
2918     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
2919     HRESULT innerText([retval, out] BSTR *p);
2920
2921     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
2922     HRESULT outerHTML([in] BSTR v);
2923
2924     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
2925     HRESULT outerHTML([retval, out] BSTR *p);
2926
2927     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
2928     HRESULT outerText([in] BSTR v);
2929
2930     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
2931     HRESULT outerText([retval, out] BSTR *p);
2932
2933     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
2934     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
2935
2936     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
2937     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
2938
2939     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
2940     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
2941
2942     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
2943     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
2944
2945     [id(DISPID_IHTMLELEMENT_CLICK)]
2946     HRESULT click();
2947
2948     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
2949     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
2950
2951     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
2952     HRESULT ondragstart([in] VARIANT v);
2953
2954     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
2955     HRESULT ondragstart([retval, out] VARIANT *p);
2956
2957     [id(DISPID_IHTMLELEMENT_TOSTRING)]
2958     HRESULT toString([retval, out] BSTR *String);
2959
2960     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
2961     HRESULT onbeforeupdate([in] VARIANT v);
2962
2963     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
2964     HRESULT onbeforeupdate([retval, out] VARIANT *p);
2965
2966     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
2967     HRESULT onafterupdate([in] VARIANT v);
2968
2969     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
2970     HRESULT onafterupdate([retval, out] VARIANT *p);
2971
2972     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
2973     HRESULT onerrorupdate([in] VARIANT v);
2974
2975     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
2976     HRESULT onerrorupdate([retval, out] VARIANT *p);
2977
2978     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
2979     HRESULT onrowexit([in] VARIANT v);
2980
2981     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
2982     HRESULT onrowexit([retval, out] VARIANT *p);
2983
2984     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
2985     HRESULT onrowenter([in] VARIANT v);
2986
2987     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
2988     HRESULT onrowenter([retval, out] VARIANT *p);
2989
2990     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
2991     HRESULT ondatasetchanged([in] VARIANT v);
2992
2993     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
2994     HRESULT ondatasetchanged([retval, out] VARIANT *p);
2995
2996     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
2997     HRESULT ondataavailable([in] VARIANT v);
2998
2999     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
3000     HRESULT ondataavailable([retval, out] VARIANT *p);
3001
3002     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3003     HRESULT ondatasetcomplete([in] VARIANT v);
3004
3005     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
3006     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
3007
3008     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3009     HRESULT onfilterchange([in] VARIANT v);
3010
3011     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
3012     HRESULT onfilterchange([retval, out] VARIANT *p);
3013
3014     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3015     HRESULT children([retval, out] IDispatch **p);
3016
3017     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3018     HRESULT all([retval, out] IDispatch **p);
3019 }
3020
3021 /*****************************************************************************
3022  *    IHTMLElement2 interface
3023  */
3024 [
3025     odl,
3026     oleautomation,
3027     dual,
3028     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
3029 ]
3030 interface IHTMLElement2 : IDispatch
3031 {
3032     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3033     HRESULT scopeName([retval, out] BSTR *p);
3034
3035     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3036     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
3037
3038     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3039     HRESULT releaseCapture();
3040
3041     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3042     HRESULT onlosecapture([in] VARIANT v);
3043
3044     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3045     HRESULT onlosecapture([retval, out] VARIANT *p);
3046
3047     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3048     HRESULT componentFromPoint(
3049         [in] long x,
3050         [in] long y,
3051         [retval, out] BSTR *component);
3052
3053     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3054     HRESULT doScroll([optional, in] VARIANT component);
3055
3056     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3057     HRESULT onscroll([in] VARIANT v);
3058
3059     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3060     HRESULT onscroll([retval, out] VARIANT *p);
3061
3062     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3063     HRESULT ondrag([in] VARIANT v);
3064
3065     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3066     HRESULT ondrag([retval, out] VARIANT *p);
3067
3068     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3069     HRESULT ondragend([in] VARIANT v);
3070
3071     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3072     HRESULT ondragend([retval, out] VARIANT *p);
3073
3074     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3075     HRESULT ondragenter([in] VARIANT v);
3076
3077     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3078     HRESULT ondragenter([retval, out] VARIANT *p);
3079
3080     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3081     HRESULT ondragover([in] VARIANT v);
3082
3083     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3084     HRESULT ondragover([retval, out] VARIANT *p);
3085
3086     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3087     HRESULT ondragleave([in] VARIANT v);
3088
3089     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3090     HRESULT ondragleave([retval, out] VARIANT *p);
3091
3092     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3093     HRESULT ondrop([in] VARIANT v);
3094
3095     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3096     HRESULT ondrop([retval, out] VARIANT *p);
3097
3098     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3099     HRESULT onbeforecut([in] VARIANT v);
3100
3101     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3102     HRESULT onbeforecut([retval, out] VARIANT *p);
3103
3104     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3105     HRESULT oncut([in] VARIANT v);
3106
3107     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3108     HRESULT oncut([retval, out] VARIANT *p);
3109
3110     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3111     HRESULT onbeforecopy([in] VARIANT v);
3112
3113     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3114     HRESULT onbeforecopy([retval, out] VARIANT *p);
3115
3116     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3117     HRESULT oncopy([in] VARIANT v);
3118
3119     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3120     HRESULT oncopy([retval, out] VARIANT *p);
3121
3122     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3123     HRESULT onbeforepaste([in] VARIANT v);
3124
3125     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3126     HRESULT onbeforepaste([retval, out] VARIANT *p);
3127
3128     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3129     HRESULT onpaste([in] VARIANT v);
3130
3131     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3132     HRESULT onpaste([retval, out] VARIANT *p);
3133
3134     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
3135     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
3136
3137     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3138     HRESULT onpropertychange([in] VARIANT v);
3139
3140     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3141     HRESULT onpropertychange([retval, out] VARIANT *p);
3142
3143     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
3144     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
3145
3146     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
3147     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
3148
3149     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
3150     HRESULT setExpression(
3151         [in] BSTR propname,
3152         [in] BSTR expression,
3153         [defaultvalue(""), in] BSTR language);
3154
3155     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
3156     HRESULT getExpression(
3157         [in] BSTR propname,
3158         [retval, out] VARIANT *expression);
3159
3160     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
3161     HRESULT removeExpression(
3162         [in] BSTR propname,
3163         [retval, out] VARIANT_BOOL *pfSuccess);
3164
3165     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3166     HRESULT tabIndex([in] short v);
3167
3168     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3169     HRESULT tabIndex([retval, out] short *p);
3170
3171     [id(DISPID_IHTMLELEMENT2_FOCUS)]
3172     HRESULT focus();
3173
3174     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3175     HRESULT accessKey([in] BSTR v);
3176
3177     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3178     HRESULT accessKey([retval, out] BSTR *p);
3179
3180     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3181     HRESULT onblur([in] VARIANT v);
3182
3183     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3184     HRESULT onblur([retval, out] VARIANT *p);
3185
3186     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3187     HRESULT onfocus([in] VARIANT v);
3188
3189     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3190     HRESULT onfocus([retval, out] VARIANT *p);
3191
3192     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3193     HRESULT onresize([in] VARIANT v);
3194
3195     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3196     HRESULT onresize([retval, out] VARIANT *p);
3197
3198     [id(DISPID_IHTMLELEMENT2_BLUR)]
3199     HRESULT blur();
3200
3201     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
3202     HRESULT addFilter([in] IUnknown *pUnk);
3203
3204     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
3205     HRESULT removeFilter([in] IUnknown *pUnk);
3206
3207     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
3208     HRESULT clientHeight([retval, out] long *p);
3209
3210     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
3211     HRESULT clientWidth([retval, out] long *p);
3212
3213     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
3214     HRESULT clientTop([retval, out] long *p);
3215
3216     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
3217     HRESULT clientLeft([retval, out] long *p);
3218
3219     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
3220     HRESULT attachEvent(
3221         [in] BSTR event,
3222         [in] IDispatch *pDisp,
3223         [retval, out] VARIANT_BOOL *pfResult);
3224
3225     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
3226     HRESULT detachEvent(
3227         [in] BSTR event,
3228         [in] IDispatch *pDisp);
3229
3230     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
3231     HRESULT readyState([retval, out] VARIANT *p);
3232
3233     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3234     HRESULT onreadystatechange([in] VARIANT v);
3235
3236     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3237     HRESULT onreadystatechange([retval, out] VARIANT *p);
3238
3239     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3240     HRESULT onrowsdelete([in] VARIANT v);
3241
3242     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3243     HRESULT onrowsdelete([retval, out] VARIANT *p);
3244
3245     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3246     HRESULT onrowsinserted([in] VARIANT v);
3247
3248     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3249     HRESULT onrowsinserted([retval, out] VARIANT *p);
3250
3251     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3252     HRESULT oncellchange([in] VARIANT v);
3253
3254     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3255     HRESULT oncellchange([retval, out] VARIANT *p);
3256
3257     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3258     HRESULT dir([in] BSTR v);
3259
3260     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3261     HRESULT dir([retval, out] BSTR *p);
3262
3263     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
3264     HRESULT createControlRange([retval, out] IDispatch **range);
3265
3266     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
3267     HRESULT scrollHeight([retval, out] long *p);
3268
3269     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
3270     HRESULT scrollWidth([retval, out] long *p);
3271
3272     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3273     HRESULT scrollTop([in] long v);
3274
3275     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3276     HRESULT scrollTop([retval, out] long *p);
3277
3278     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3279     HRESULT scrollLeft([in] long v);
3280
3281     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3282     HRESULT scrollLeft([retval, out] long *p);
3283
3284     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
3285     HRESULT clearAttributes();
3286
3287     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
3288     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
3289
3290     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3291     HRESULT oncontextmenu([in] VARIANT v);
3292
3293     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3294     HRESULT oncontextmenu([retval, out] VARIANT *p);
3295
3296     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
3297     HRESULT insertAdjacentElement(
3298         [in] BSTR where,
3299         [in] IHTMLElement *insertedElement,
3300         [retval, out] IHTMLElement **inserted);
3301
3302     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
3303     HRESULT applyElement(
3304         [in] IHTMLElement *apply,
3305         [in] BSTR where,
3306         [retval, out] IHTMLElement **applied);
3307
3308     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
3309     HRESULT getAdjacentText(
3310         [in] BSTR where,
3311         [retval, out] BSTR *text);
3312
3313     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
3314     HRESULT replaceAdjacentText(
3315         [in] BSTR where,
3316         [in] BSTR newText,
3317         [retval, out] BSTR *oldText);
3318
3319     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
3320     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
3321
3322     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
3323     HRESULT addBehavior(
3324         [in] BSTR bstrUrl,
3325         [optional, in] VARIANT *pvarFactory,
3326         [retval, out] long *pCookie);
3327
3328     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
3329     HRESULT removeBehavior(
3330         [in] long cookie,
3331         [retval, out] VARIANT_BOOL *pfResult);
3332
3333     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
3334     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
3335
3336     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
3337     HRESULT behaviorUrns([retval, out] IDispatch **p);
3338
3339     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
3340     HRESULT tagUrn([in] BSTR v);
3341
3342     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
3343     HRESULT tagUrn([retval, out] BSTR *p);
3344
3345     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3346     HRESULT onbeforeeditfocus([in] VARIANT v);
3347
3348     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3349     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
3350
3351     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
3352     HRESULT readyStateValue([retval, out] long *p);
3353
3354     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
3355     HRESULT getElementsByTagName(
3356         [in] BSTR v,
3357         [retval, out] IHTMLElementCollection **pelColl);
3358 }
3359
3360 /*****************************************************************************
3361  *    DispHTMLGenericElement dispinterface
3362  */
3363 [
3364     hidden,
3365     uuid(3050f563-98b5-11cf-bb82-00aa00bdce0b)
3366 ]
3367 dispinterface DispHTMLGenericElement
3368 {
3369 properties:
3370 methods:
3371     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3372     void setAttribute(
3373             [in] BSTR strAttributeName,
3374             [in] VARIANT AttributeValue,
3375             [in, defaultvalue(1)] LONG lFlags);
3376
3377     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3378     VARIANT getAttribute(
3379              [in] BSTR strAttributeName,
3380              [in, defaultvalue(0)] LONG lFlags);
3381
3382     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3383     VARIANT_BOOL removeAttribute(
3384             [in] BSTR strAttributeName,
3385             [in, defaultvalue(1)] LONG lFlags);
3386
3387     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
3388     void className(BSTR v);
3389
3390     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
3391     BSTR className();
3392
3393     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
3394     void id(BSTR v);
3395
3396     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
3397     BSTR id();
3398
3399     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3400     BSTR tagName();
3401
3402     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3403     IHTMLElement *parentElement();
3404
3405     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
3406     IHTMLStyle *style();
3407
3408     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
3409     void onhelp(VARIANT v);
3410
3411     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
3412     VARIANT onhelp();
3413
3414     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
3415     void onclick(VARIANT v);
3416
3417     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
3418     VARIANT onclick();
3419
3420     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
3421     void ondblclick(VARIANT v);
3422
3423     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
3424     VARIANT ondblclick();
3425
3426     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
3427     void onkeydown(VARIANT v);
3428
3429     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
3430     VARIANT onkeydown();
3431
3432     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
3433     void onkeyup(VARIANT v);
3434
3435     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
3436     VARIANT onkeyup();
3437
3438     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
3439     void onkeypress(VARIANT v);
3440
3441     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
3442     VARIANT onkeypress();
3443
3444     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
3445     void onmouseout(VARIANT v);
3446
3447     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
3448     VARIANT onmouseout();
3449
3450     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
3451     void onmouseover(VARIANT v);
3452
3453     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
3454     VARIANT onmouseover();
3455
3456     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
3457     void onmousemove(VARIANT v);
3458
3459     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
3460     VARIANT onmousemove();
3461
3462     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
3463     void onmousedown(VARIANT v);
3464
3465     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
3466     VARIANT onmousedown();
3467
3468     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
3469     void onmouseup(VARIANT v);
3470
3471     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
3472     VARIANT onmouseup();
3473
3474     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
3475     IDispatch *document();
3476
3477     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
3478     void title(BSTR v);
3479
3480     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
3481     BSTR title();
3482
3483     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
3484     void language(BSTR v);
3485
3486     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
3487     BSTR language();
3488
3489     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
3490     void onselectstart(VARIANT v);
3491
3492     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
3493     VARIANT onselectstart();
3494
3495     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
3496     void scrollIntoView([in, optional] VARIANT varargStart);
3497
3498     [id(DISPID_IHTMLELEMENT_CONTAINS)]
3499     VARIANT_BOOL contains([in] IHTMLElement *pChild);
3500
3501     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
3502     long sourceIndex();
3503
3504     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
3505     VARIANT recordNumber();
3506
3507     [propput, id(DISPID_IHTMLELEMENT_LANG)]
3508     void lang(BSTR v);
3509
3510     [propget, id(DISPID_IHTMLELEMENT_LANG)]
3511     BSTR lang();
3512
3513     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
3514     long offsetLeft();
3515
3516     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
3517     long offsetTop();
3518
3519     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
3520     long offsetWidth();
3521
3522     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
3523     long offsetHeight();
3524
3525     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
3526     IHTMLElement *offsetParent();
3527
3528     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
3529     void innerHTML(BSTR v);
3530
3531     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
3532     BSTR innerHTML();
3533
3534     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3535     void innerText(BSTR v);
3536
3537     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
3538     BSTR innerText();
3539
3540     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3541     void outerHTML(BSTR v);
3542
3543     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
3544     BSTR outerHTML();
3545
3546     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3547     void outerText(BSTR v);
3548
3549     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
3550     BSTR outerText();
3551
3552     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
3553     void insertAdjacentHTML(
3554             [in] BSTR where,
3555             [in] BSTR html);
3556
3557     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
3558     void insertAdjacentText(
3559             [in] BSTR where,
3560             [in] BSTR text);
3561
3562     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
3563     IHTMLElement *parentTextEdit();
3564
3565     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
3566     VARIANT_BOOL isTextEdit();
3567
3568     [id(DISPID_IHTMLELEMENT_CLICK)]
3569     void click();
3570
3571     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
3572     IHTMLFiltersCollection *filters();
3573
3574     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
3575     void ondragstart(VARIANT v);
3576
3577     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
3578     VARIANT ondragstart();
3579
3580     [id(DISPID_IHTMLELEMENT_TOSTRING)]
3581     BSTR toString();
3582
3583     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
3584     void onbeforeupdate(VARIANT v);
3585
3586     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
3587     VARIANT onbeforeupdate();
3588
3589     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
3590     void onafterupdate(VARIANT v);
3591
3592     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
3593     VARIANT onafterupdate();
3594
3595     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
3596     void onerrorupdate(VARIANT v);
3597
3598     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
3599     VARIANT onerrorupdate();
3600
3601     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
3602     void onrowexit(VARIANT v);
3603
3604     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
3605     VARIANT onrowexit();
3606
3607     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
3608     void onrowenter(VARIANT v);
3609
3610     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
3611     VARIANT onrowenter();
3612
3613     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
3614     void ondatasetchanged(VARIANT v);
3615
3616     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
3617     VARIANT ondatasetchanged();
3618
3619     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
3620     void ondataavailable(VARIANT v);
3621
3622     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
3623     VARIANT ondataavailable();
3624
3625     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
3626     void ondatasetcomplete(VARIANT v);
3627
3628     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
3629     VARIANT ondatasetcomplete();
3630
3631     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
3632     void onfilterchange(VARIANT v);
3633
3634     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
3635     VARIANT onfilterchange();
3636
3637     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
3638     IDispatch *children();
3639
3640     [propget, id(DISPID_IHTMLELEMENT_ALL)]
3641     IDispatch *all();
3642
3643     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
3644     BSTR scopeName();
3645
3646     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
3647     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
3648
3649     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
3650     void releaseCapture();
3651
3652     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3653     void onlosecapture(VARIANT v);
3654
3655     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
3656     VARIANT onlosecapture();
3657
3658     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
3659     BSTR componentFromPoint(
3660             [in] long x,
3661             [in] long y);
3662
3663     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
3664     void doScroll([in, optional] VARIANT component);
3665
3666     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3667     void onscroll(VARIANT v);
3668
3669     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
3670     VARIANT onscroll();
3671
3672     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3673     void ondrag(VARIANT v);
3674
3675     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
3676     VARIANT ondrag();
3677
3678     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3679     void ondragend(VARIANT v);
3680
3681     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
3682     VARIANT ondragend();
3683
3684     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3685     void ondragenter(VARIANT v);
3686
3687     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
3688     VARIANT ondragenter();
3689
3690     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3691     void ondragover(VARIANT v);
3692
3693     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
3694     VARIANT ondragover();
3695
3696     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3697     void ondragleave(VARIANT v);
3698
3699     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
3700     VARIANT ondragleave();
3701
3702     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3703     void ondrop(VARIANT v);
3704
3705     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
3706     VARIANT ondrop();
3707
3708     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3709     void onbeforecut(VARIANT v);
3710
3711     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
3712     VARIANT onbeforecut();
3713
3714     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3715     void oncut(VARIANT v);
3716
3717     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
3718     VARIANT oncut();
3719
3720     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3721     void onbeforecopy(VARIANT v);
3722
3723     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
3724     VARIANT onbeforecopy();
3725
3726     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3727     void oncopy(VARIANT v);
3728
3729     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
3730     VARIANT oncopy();
3731
3732     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3733     void onbeforepaste(VARIANT v);
3734
3735     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
3736     VARIANT onbeforepaste();
3737
3738     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3739     void onpaste(VARIANT v);
3740
3741     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
3742     VARIANT onpaste();
3743
3744     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
3745     IHTMLCurrentStyle *currentStyle();
3746
3747     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3748     void onpropertychange(VARIANT v);
3749
3750     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
3751     VARIANT onpropertychange();
3752
3753     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
3754     IHTMLRectCollection *getClientRects();
3755
3756     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
3757     IHTMLRect *getBoundingClientRect();
3758
3759     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
3760     void setExpression(
3761             [in] BSTR propname,
3762             [in] BSTR expression,
3763             [in, defaultvalue("")] BSTR language);
3764
3765     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
3766     VARIANT getExpression([in] BSTR propname);
3767
3768     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
3769     VARIANT_BOOL removeExpression([in] BSTR propname);
3770
3771     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3772     void tabIndex(short v);
3773
3774     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
3775     short tabIndex();
3776
3777     [id(DISPID_IHTMLELEMENT2_FOCUS)]
3778     void focus();
3779
3780     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3781     void accessKey(BSTR v);
3782
3783     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
3784     BSTR accessKey();
3785
3786     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3787     void onblur(VARIANT v);
3788
3789     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
3790     VARIANT onblur();
3791
3792     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3793     void onfocus(VARIANT v);
3794
3795     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
3796     VARIANT onfocus();
3797
3798     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3799     void onresize(VARIANT v);
3800
3801     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
3802     VARIANT onresize();
3803
3804     [id(DISPID_IHTMLELEMENT2_BLUR)]
3805     void blur();
3806
3807     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
3808     void addFilter([in] IUnknown *pUnk);
3809
3810     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
3811     void removeFilter([in] IUnknown *pUnk);
3812
3813     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
3814     long clientHeight();
3815
3816     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
3817     long clientWidth();
3818
3819     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
3820     long clientTop();
3821
3822     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
3823     long clientLeft();
3824
3825     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
3826     VARIANT_BOOL attachEvent(
3827             [in] BSTR event,
3828             [in] IDispatch *pDisp);
3829
3830     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
3831     void detachEvent(
3832             [in] BSTR event,
3833             [in] IDispatch *pDisp);
3834
3835     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
3836     VARIANT readyState();
3837
3838     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3839     void onreadystatechange(VARIANT v);
3840
3841     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
3842     VARIANT onreadystatechange();
3843
3844     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3845     void onrowsdelete(VARIANT v);
3846
3847     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
3848     VARIANT onrowsdelete();
3849
3850     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3851     void onrowsinserted(VARIANT v);
3852
3853     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
3854      VARIANT onrowsinserted();
3855
3856     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3857      void oncellchange(VARIANT v);
3858
3859     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
3860     VARIANT oncellchange();
3861
3862     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3863     void dir(BSTR v);
3864
3865     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
3866     BSTR dir();
3867
3868     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
3869     IDispatch *createControlRange();
3870
3871     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
3872     long scrollHeight();
3873
3874     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
3875     long scrollWidth();
3876
3877     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3878     void scrollTop(long v);
3879
3880     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
3881     long scrollTop();
3882
3883     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3884     void scrollLeft(long v);
3885
3886     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
3887     long scrollLeft();
3888
3889     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
3890     void clearAttributes();
3891
3892     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3893     void oncontextmenu(VARIANT v);
3894
3895     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
3896     VARIANT oncontextmenu();
3897
3898     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
3899     IHTMLElement *insertAdjacentElement(
3900             [in] BSTR where,
3901             [in] IHTMLElement *insertedElement);
3902
3903     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
3904     IHTMLElement *applyElement(
3905             [in] IHTMLElement *apply,
3906             [in] BSTR where);
3907
3908     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
3909     BSTR getAdjacentText([in] BSTR where);
3910
3911     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
3912     BSTR replaceAdjacentText(
3913             [in] BSTR where,
3914             [in] BSTR newText);
3915
3916     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
3917     VARIANT_BOOL canHaveChildren();
3918
3919     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
3920     long addBehavior(
3921             [in] BSTR bstrUrl,
3922             [in, optional] VARIANT *pvarFactory);
3923
3924     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
3925     VARIANT_BOOL removeBehavior([in] long cookie);
3926
3927     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
3928     IHTMLStyle *runtimeStyle();
3929
3930     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
3931     IDispatch *behaviorUrns();
3932
3933     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
3934     void tagUrn(BSTR v);
3935
3936     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
3937     BSTR tagUrn();
3938
3939     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3940     void onbeforeeditfocus(VARIANT v);
3941
3942     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
3943     VARIANT onbeforeeditfocus();
3944
3945     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
3946     long readyStateValue();
3947
3948     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
3949     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
3950
3951     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
3952     void mergeAttributes(
3953             [in] IHTMLElement *mergeThis,
3954             [in, optional] VARIANT *pvarFlags);
3955
3956     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
3957     VARIANT_BOOL isMultiLine();
3958
3959     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
3960     VARIANT_BOOL canHaveHTML();
3961
3962     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
3963     void onlayoutcomplete(VARIANT v);
3964
3965     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
3966     VARIANT onlayoutcomplete();
3967
3968     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
3969     void onpage(VARIANT v);
3970
3971     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
3972     VARIANT onpage();
3973
3974     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
3975     void inflateBlock(VARIANT_BOOL v);
3976
3977     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
3978     VARIANT_BOOL inflateBlock();
3979
3980     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
3981     void onbeforedeactivate(VARIANT v);
3982
3983     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
3984     VARIANT onbeforedeactivate();
3985
3986     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
3987     void setActive();
3988
3989     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
3990     void contentEditable(BSTR v);
3991
3992     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
3993     BSTR contentEditable();
3994
3995     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
3996     VARIANT_BOOL isContentEditable();
3997
3998     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
3999     void hideFocus(VARIANT_BOOL v);
4000
4001     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4002     VARIANT_BOOL hideFocus();
4003
4004     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4005     void disabled(VARIANT_BOOL v);
4006
4007     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4008     VARIANT_BOOL disabled();
4009
4010     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4011     VARIANT_BOOL isDisabled();
4012
4013     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4014     void onmove(VARIANT v);
4015
4016     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4017     VARIANT onmove();
4018
4019     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4020     void oncontrolselect(VARIANT v);
4021
4022     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4023     VARIANT oncontrolselect();
4024
4025     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4026     VARIANT_BOOL fireEvent(
4027             [in] BSTR bstrEventName,
4028             [in, optional] VARIANT *pvarEventObject);
4029
4030     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4031     void onresizestart(VARIANT v);
4032
4033     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4034     VARIANT onresizestart();
4035
4036     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4037     void onresizeend(VARIANT v);
4038
4039     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4040     VARIANT onresizeend();
4041
4042     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4043     void onmovestart(VARIANT v);
4044
4045     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4046     VARIANT onmovestart();
4047
4048     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4049     void onmoveend(VARIANT v);
4050
4051     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4052     VARIANT onmoveend();
4053
4054     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4055     void onmouseenter(VARIANT v);
4056
4057     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4058     VARIANT onmouseenter();
4059
4060     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4061     void onmouseleave(VARIANT v);
4062
4063     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4064     VARIANT onmouseleave();
4065
4066     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4067     void onactivate(VARIANT v);
4068
4069     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4070     VARIANT onactivate();
4071
4072     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4073     void ondeactivate(VARIANT v);
4074
4075     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4076     VARIANT ondeactivate();
4077
4078     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
4079     VARIANT_BOOL dragDrop();
4080
4081     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4082     LONG glyphMode();
4083
4084     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4085     void onmousewheel(VARIANT v);
4086
4087     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4088     VARIANT onmousewheel();
4089
4090     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4091     void normalize();
4092
4093     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4094     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
4095
4096     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4097     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
4098
4099     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4100     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
4101
4102     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4103     void onbeforeactivate(VARIANT v);
4104
4105     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4106     VARIANT onbeforeactivate();
4107
4108     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4109     void onfocusin(VARIANT v);
4110
4111     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4112     VARIANT onfocusin();
4113
4114     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4115     void onfocusout(VARIANT v);
4116
4117     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4118     VARIANT onfocusout();
4119
4120     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
4121     long uniqueNumber();
4122
4123     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
4124     BSTR uniqueID();
4125
4126     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
4127     long nodeType();
4128
4129     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
4130     IHTMLDOMNode *parentNode();
4131
4132     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
4133     VARIANT_BOOL hasChildNodes();
4134
4135     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
4136     IDispatch *childNodes();
4137
4138     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
4139     IDispatch *attributes();
4140
4141     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
4142     IHTMLDOMNode *insertBefore(
4143             [in] IHTMLDOMNode *newChild,
4144             [in, optional] VARIANT refChild);
4145
4146     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
4147     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4148
4149     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
4150     IHTMLDOMNode *replaceChild(
4151             [in] IHTMLDOMNode *newChild,
4152             [in] IHTMLDOMNode *oldChild);
4153
4154     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
4155     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
4156
4157     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
4158     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
4159
4160     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
4161     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
4162
4163     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
4164     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
4165
4166     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
4167     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4168
4169     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
4170     BSTR nodeName();
4171
4172     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
4173     void nodeValue(VARIANT v);
4174
4175     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
4176     VARIANT nodeValue();
4177
4178     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
4179     IHTMLDOMNode *firstChild();
4180
4181     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
4182     IHTMLDOMNode *lastChild();
4183
4184     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
4185     IHTMLDOMNode *previousSibling();
4186
4187     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
4188     IHTMLDOMNode *nextSibling();
4189
4190     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
4191     IDispatch *ownerDocument();
4192
4193     [propget, id(DISPID_IHTMLGENERICELEMENT_RECORDSET), hidden]
4194     IDispatch *recordset();
4195
4196     [id(DISPID_IHTMLGENERICELEMENT_NAMEDRECORDSET)]
4197     IDispatch *namedRecordset(
4198             [in] BSTR dataMember,
4199             [in, optional] VARIANT *hierarchy);
4200 }
4201
4202 /*****************************************************************************
4203  *    IHTMLStyleSheetRule interface
4204  */
4205 [
4206     odl,
4207     oleautomation,
4208     dual,
4209     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
4210 ]
4211 interface IHTMLStyleSheetRule : IDispatch
4212 {
4213     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
4214     HRESULT selectorText([in] BSTR v);
4215
4216     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
4217     HRESULT selectorText([retval, out] BSTR *p);
4218
4219     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
4220     HRESULT style([retval, out] IHTMLRuleStyle **p);
4221
4222     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
4223     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
4224 }
4225
4226 /*****************************************************************************
4227  *    IHTMLStyleSheetRulesCollection interface
4228  */
4229 [
4230     odl,
4231     oleautomation,
4232     dual,
4233     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
4234 ]
4235 interface IHTMLStyleSheetRulesCollection : IDispatch
4236 {
4237     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
4238     HRESULT length([retval, out] long *p);
4239
4240     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
4241     HRESULT item(
4242         [in] long index,
4243         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
4244 }
4245
4246 /*****************************************************************************
4247  *    IHTMLStyleSheet interface
4248  */
4249 [
4250     odl,
4251     oleautomation,
4252     dual,
4253     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
4254 ]
4255 interface IHTMLStyleSheet : IDispatch
4256 {
4257     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
4258     HRESULT title([in] BSTR v);
4259
4260     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
4261     HRESULT title([retval, out] BSTR *p);
4262
4263     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
4264     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
4265
4266     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
4267     HRESULT owningElement([retval, out] IHTMLElement **p);
4268
4269     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
4270     HRESULT disabled([in] VARIANT_BOOL v);
4271
4272     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
4273     HRESULT disabled([retval, out] VARIANT_BOOL *p);
4274
4275     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
4276     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
4277
4278     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
4279     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
4280
4281     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
4282     HRESULT href([in] BSTR v);
4283
4284     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
4285     HRESULT href([retval, out] BSTR *p);
4286
4287     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
4288     HRESULT type([retval, out] BSTR *p);
4289
4290     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
4291     HRESULT id([retval, out] BSTR *p);
4292
4293     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
4294     HRESULT addImport(
4295         [in] BSTR bstrURL,
4296         [defaultvalue(-1), in] long lIndex,
4297         [retval, out] long *plIndex);
4298
4299     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
4300     HRESULT addRule(
4301         [in] BSTR bstrSelector,
4302         [in] BSTR bstrStyle,
4303         [defaultvalue(-1), in] long lIndex,
4304         [retval, out] long *plNewIndex);
4305
4306     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
4307     HRESULT removeImport([in] long lIndex);
4308
4309     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
4310     HRESULT removeRule([in] long lIndex);
4311
4312     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
4313     HRESULT media([in] BSTR v);
4314
4315     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
4316     HRESULT media([retval, out] BSTR *p);
4317
4318     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
4319     HRESULT cssText([in] BSTR v);
4320
4321     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
4322     HRESULT cssText([retval, out] BSTR *p);
4323
4324     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
4325     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
4326 }
4327
4328 /*****************************************************************************
4329  *    IHTMLStyleSheetsCollection interface
4330  */
4331 [
4332     odl,
4333     oleautomation,
4334     dual,
4335     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
4336 ]
4337 interface IHTMLStyleSheetsCollection : IDispatch
4338 {
4339     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
4340     HRESULT length([retval, out] long *p);
4341
4342     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
4343     HRESULT _newEnum([retval, out] IUnknown **p);
4344
4345     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
4346     HRESULT item(
4347         [in] VARIANT *pvarIndex,
4348         [retval, out] VARIANT *pvarResult);
4349 }
4350
4351 /*****************************************************************************
4352  *    IHTMLTxtRange interface
4353  */
4354 [
4355     odl,
4356     oleautomation,
4357     dual,
4358     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
4359 ]
4360 interface IHTMLTxtRange : IDispatch
4361 {
4362     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
4363     HRESULT htmlText([retval, out] BSTR *p);
4364
4365     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
4366     HRESULT text([in] BSTR v);
4367
4368     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
4369     HRESULT text([retval, out] BSTR *p);
4370
4371     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
4372     HRESULT parentElement([retval, out] IHTMLElement **parent);
4373
4374     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
4375     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
4376
4377     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
4378     HRESULT inRange(
4379         [in] IHTMLTxtRange *Range,
4380         [retval, out] VARIANT_BOOL *InRange);
4381
4382     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
4383     HRESULT isEqual(
4384         [in] IHTMLTxtRange *Range,
4385         [retval, out] VARIANT_BOOL *IsEqual);
4386
4387     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
4388     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
4389
4390     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
4391     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
4392
4393     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
4394     HRESULT expand(
4395         [in] BSTR Unit,
4396         [retval, out] VARIANT_BOOL *Success);
4397
4398     [id(DISPID_IHTMLTXTRANGE_MOVE)]
4399     HRESULT move(
4400         [in] BSTR Unit,
4401         [defaultvalue(1), in] long Count,
4402         [retval, out] long *ActualCount);
4403
4404     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
4405     HRESULT moveStart(
4406         [in] BSTR Unit,
4407         [defaultvalue(1), in] long Count,
4408         [retval, out] long *ActualCount);
4409
4410     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
4411     HRESULT moveEnd(
4412         [in] BSTR Unit,
4413         [defaultvalue(1), in] long Count,
4414         [retval, out] long *ActualCount);
4415
4416     [id(DISPID_IHTMLTXTRANGE_SELECT)]
4417     HRESULT select();
4418
4419     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
4420     HRESULT pasteHTML([in] BSTR html);
4421
4422     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
4423     HRESULT moveToElementText([in] IHTMLElement *element);
4424
4425     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
4426     HRESULT setEndPoint(
4427         [in] BSTR how,
4428         [in] IHTMLTxtRange *SourceRange);
4429
4430     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
4431     HRESULT compareEndPoints(
4432         [in] BSTR how,
4433         [in] IHTMLTxtRange *SourceRange,
4434         [retval, out] long *ret);
4435
4436     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
4437     HRESULT findText(
4438         [in] BSTR String,
4439         [defaultvalue(1073741823), in] long count,
4440         [defaultvalue(0), in] long Flags,
4441         [retval, out] VARIANT_BOOL *Success);
4442
4443     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
4444     HRESULT moveToPoint(
4445         [in] long x,
4446         [in] long y);
4447
4448     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
4449     HRESULT getBookmark([retval, out] BSTR *Boolmark);
4450
4451     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
4452     HRESULT moveToBookmark(
4453         [in] BSTR Bookmark,
4454         [retval, out] VARIANT_BOOL *Success);
4455
4456     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
4457     HRESULT queryCommandSupported(
4458         [in] BSTR cmdID,
4459         [retval, out] VARIANT_BOOL *pfRet);
4460
4461     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
4462     HRESULT queryCommandEnabled(
4463         [in] BSTR cmdID,
4464         [retval, out] VARIANT_BOOL *pfRet);
4465
4466     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
4467     HRESULT queryCommandState(
4468         [in] BSTR cmdID,
4469         [retval, out] VARIANT_BOOL *pfRet);
4470
4471     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
4472     HRESULT queryCommandIndeterm(
4473         [in] BSTR cmdID,
4474         [retval, out] VARIANT_BOOL *pfRet);
4475
4476     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
4477     HRESULT queryCommandText(
4478         [in] BSTR cmdID,
4479         [retval, out] BSTR *pcmdText);
4480
4481     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
4482     HRESULT queryCommandValue(
4483         [in] BSTR cmdID,
4484         [retval, out] VARIANT *pcmdValue);
4485
4486     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
4487     HRESULT execCommand(
4488         [in] BSTR cmdID,
4489         [defaultvalue(0), in] VARIANT_BOOL showUI,
4490         [optional, in] VARIANT value,
4491         [retval, out] VARIANT_BOOL *pfRet);
4492
4493     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
4494     HRESULT execCommandShowHelp(
4495         [in] BSTR cmdID,
4496         [retval, out] VARIANT_BOOL *pfRet);
4497 }
4498
4499 /*****************************************************************************
4500  *    IHTMLFormElement interface
4501  */
4502 [
4503     odl,
4504     oleautomation,
4505     dual,
4506     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
4507 ]
4508 interface IHTMLFormElement : IDispatch
4509 {
4510     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
4511     HRESULT action([in] BSTR v);
4512
4513     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
4514     HRESULT action([retval, out] BSTR *p);
4515
4516     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
4517     HRESULT dir([in] BSTR v);
4518
4519     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
4520     HRESULT dir([retval, out] BSTR *p);
4521
4522     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
4523     HRESULT encoding([in] BSTR v);
4524
4525     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
4526     HRESULT encoding([retval, out] BSTR *p);
4527
4528     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
4529     HRESULT method([in] BSTR v);
4530
4531     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
4532     HRESULT method([retval, out] BSTR *p);
4533
4534     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
4535     HRESULT elements([retval, out] IDispatch **p);
4536
4537     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
4538     HRESULT target([in] BSTR v);
4539
4540     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
4541     HRESULT target([retval, out] BSTR *p);
4542
4543     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
4544     HRESULT name([in] BSTR v);
4545
4546     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
4547     HRESULT name([retval, out] BSTR *p);
4548
4549     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
4550     HRESULT onsubmit([in] VARIANT v);
4551
4552     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
4553     HRESULT onsubmit([retval, out] VARIANT *p);
4554
4555     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
4556     HRESULT onreset([in] VARIANT v);
4557
4558     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
4559     HRESULT onreset([retval, out] VARIANT *p);
4560
4561     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
4562     HRESULT submit();
4563
4564     [id(DISPID_IHTMLFORMELEMENT_RESET)]
4565     HRESULT reset();
4566
4567     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
4568     HRESULT length([in] long v);
4569
4570     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
4571     HRESULT length([retval, out] long *p);
4572
4573     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
4574     HRESULT _newEnum([retval, out] IUnknown **p);
4575
4576     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
4577     HRESULT item(
4578         [optional, in] VARIANT name,
4579         [optional, in] VARIANT index,
4580         [retval, out] IDispatch **pdisp);
4581
4582     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
4583     HRESULT tags(
4584         [in] VARIANT tagName,
4585         [retval, out] IDispatch **pdisp);
4586 }
4587
4588 /*****************************************************************************
4589  *    IHTMLTextContainer interface
4590  */
4591 [
4592     odl,
4593     oleautomation,
4594     dual,
4595     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
4596 ]
4597 interface IHTMLTextContainer : IDispatch
4598 {
4599     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
4600     HRESULT createControlRange([retval, out] IDispatch **range);
4601
4602     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
4603     HRESULT scrollHeight([retval, out] long *p);
4604
4605     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
4606     HRESULT scrollWidth([retval, out] long *p);
4607
4608     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
4609     HRESULT scrollTop([in] long v);
4610
4611     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
4612     HRESULT scrollTop([retval, out] long *p);
4613
4614     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
4615     HRESULT scrollLeft([in] long v);
4616
4617     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
4618     HRESULT scrollLeft([retval, out] long *p);
4619
4620     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
4621     HRESULT onscroll([in] VARIANT v);
4622
4623     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
4624     HRESULT onscroll([retval, out] VARIANT *p);
4625 }
4626
4627 /*****************************************************************************
4628  *    IHTMLImgElement interface
4629  */
4630 [
4631     odl,
4632     oleautomation,
4633     dual,
4634     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
4635 ]
4636 interface IHTMLImgElement : IDispatch
4637 {
4638     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
4639     HRESULT isMap([in] VARIANT_BOOL v);
4640
4641     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
4642     HRESULT isMap([retval, out] VARIANT_BOOL *p);
4643
4644     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
4645     HRESULT useMap([in] BSTR v);
4646
4647     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
4648     HRESULT useMap([retval, out] BSTR *p);
4649
4650     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
4651     HRESULT mimeType([retval, out] BSTR *p);
4652
4653     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
4654     HRESULT fileSize([retval, out] BSTR *p);
4655
4656     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
4657     HRESULT fileCreatedDate([retval, out] BSTR *p);
4658
4659     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
4660     HRESULT fileModifiedDate([retval, out] BSTR *p);
4661
4662     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
4663     HRESULT fileUpdatedDate([retval, out] BSTR *p);
4664
4665     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
4666     HRESULT protocol([retval, out] BSTR *p);
4667
4668     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
4669     HRESULT href([retval, out] BSTR *p);
4670
4671     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
4672     HRESULT nameProp([retval, out] BSTR *p);
4673
4674     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
4675     HRESULT border([in] VARIANT v);
4676
4677     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
4678     HRESULT border([retval, out] VARIANT *p);
4679
4680     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
4681     HRESULT vspace([in] long v);
4682
4683     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
4684     HRESULT vspace([retval, out] long *p);
4685
4686     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
4687     HRESULT hspace([in] long v);
4688
4689     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
4690     HRESULT hspace([retval, out] long *p);
4691
4692     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
4693     HRESULT alt([in] BSTR v);
4694
4695     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
4696     HRESULT alt([retval, out] BSTR *p);
4697
4698     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
4699     HRESULT src([in] BSTR v);
4700
4701     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
4702     HRESULT src([retval, out] BSTR *p);
4703
4704     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
4705     HRESULT lowsrc([in] BSTR v);
4706
4707     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
4708     HRESULT lowsrc([retval, out] BSTR *p);
4709
4710     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
4711     HRESULT vrml([in] BSTR v);
4712
4713     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
4714     HRESULT vrml([retval, out] BSTR *p);
4715
4716     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
4717     HRESULT dynsrc([in] BSTR v);
4718
4719     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
4720     HRESULT dynsrc([retval, out] BSTR *p);
4721
4722     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
4723     HRESULT readyState([retval, out] BSTR *p);
4724
4725     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
4726     HRESULT complete([retval, out] VARIANT_BOOL *p);
4727
4728     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
4729     HRESULT loop([in] VARIANT v);
4730
4731     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
4732     HRESULT loop([retval, out] VARIANT *p);
4733
4734     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
4735     HRESULT align([in] BSTR v);
4736
4737     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
4738     HRESULT align([retval, out] BSTR *p);
4739
4740     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
4741     HRESULT onload([in] VARIANT v);
4742
4743     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
4744     HRESULT onload([retval, out] VARIANT *p);
4745
4746     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
4747     HRESULT onerror([in] VARIANT v);
4748
4749     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
4750     HRESULT onerror([retval, out] VARIANT *p);
4751
4752     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
4753     HRESULT onabort([in] VARIANT v);
4754
4755     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
4756     HRESULT onabort([retval, out] VARIANT *p);
4757
4758     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
4759     HRESULT name([in] BSTR v);
4760
4761     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
4762     HRESULT name([retval, out] BSTR *p);
4763
4764     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
4765     HRESULT width([in] long v);
4766
4767     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
4768     HRESULT width([retval, out] long *p);
4769
4770     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
4771     HRESULT height([in] long v);
4772
4773     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
4774     HRESULT height([retval, out] long *p);
4775
4776     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
4777     HRESULT start([in] BSTR v);
4778
4779     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
4780     HRESULT start([retval, out] BSTR *p);
4781 }
4782
4783 /*****************************************************************************
4784  *    IHTMLImageElementFactory interface
4785  */
4786 [
4787     odl,
4788     oleautomation,
4789     dual,
4790     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
4791 ]
4792 interface IHTMLImageElementFactory : IDispatch
4793 {
4794     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
4795     HRESULT create(
4796         [optional, in] VARIANT width,
4797         [optional, in] VARIANT height,
4798         [retval, out]  IHTMLImgElement **elem);
4799 }
4800
4801 /*****************************************************************************
4802  *    DispHTMLImg interface
4803  */
4804 [
4805     hidden,
4806     uuid(3050f51c-98b5-11cf-bb82-00aa00bdce0b)
4807 ]
4808 dispinterface DispHTMLImg
4809 {
4810 properties:
4811 methods:
4812     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
4813     void setAttribute(
4814             [in] BSTR strAttributeName,
4815             [in] VARIANT AttributeValue,
4816             [in, defaultvalue(1)] LONG lFlags);
4817
4818     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
4819     VARIANT getAttribute(
4820              [in] BSTR strAttributeName,
4821              [in, defaultvalue(0)] LONG lFlags);
4822
4823     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
4824     VARIANT_BOOL removeAttribute(
4825             [in] BSTR strAttributeName,
4826             [in, defaultvalue(1)] LONG lFlags);
4827
4828     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4829     void className(BSTR v);
4830
4831     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
4832     BSTR className();
4833
4834     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
4835     void id(BSTR v);
4836
4837     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
4838     BSTR id();
4839
4840     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
4841     BSTR tagName();
4842
4843     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
4844     IHTMLElement *parentElement();
4845
4846     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
4847     IHTMLStyle *style();
4848
4849     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4850     void onhelp(VARIANT v);
4851
4852     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
4853     VARIANT onhelp();
4854
4855     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4856     void onclick(VARIANT v);
4857
4858     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
4859     VARIANT onclick();
4860
4861     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4862     void ondblclick(VARIANT v);
4863
4864     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
4865     VARIANT ondblclick();
4866
4867     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4868     void onkeydown(VARIANT v);
4869
4870     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
4871     VARIANT onkeydown();
4872
4873     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4874     void onkeyup(VARIANT v);
4875
4876     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
4877     VARIANT onkeyup();
4878
4879     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4880     void onkeypress(VARIANT v);
4881
4882     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
4883     VARIANT onkeypress();
4884
4885     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4886     void onmouseout(VARIANT v);
4887
4888     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
4889     VARIANT onmouseout();
4890
4891     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4892     void onmouseover(VARIANT v);
4893
4894     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
4895     VARIANT onmouseover();
4896
4897     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4898     void onmousemove(VARIANT v);
4899
4900     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
4901     VARIANT onmousemove();
4902
4903     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4904     void onmousedown(VARIANT v);
4905
4906     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
4907     VARIANT onmousedown();
4908
4909     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4910     void onmouseup(VARIANT v);
4911
4912     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
4913     VARIANT onmouseup();
4914
4915     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4916     IDispatch *document();
4917
4918     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4919     void title(BSTR v);
4920
4921     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4922     BSTR title();
4923
4924     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4925     void language(BSTR v);
4926
4927     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4928     BSTR language();
4929
4930     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4931     void onselectstart(VARIANT v);
4932
4933     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4934     VARIANT onselectstart();
4935
4936     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4937     void scrollIntoView([in, optional] VARIANT varargStart);
4938
4939     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4940     VARIANT_BOOL contains([in] IHTMLElement *pChild);
4941
4942     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
4943     long sourceIndex();
4944
4945     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4946     VARIANT recordNumber();
4947
4948     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4949     void lang(BSTR v);
4950
4951     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4952     BSTR lang();
4953
4954     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4955     long offsetLeft();
4956
4957     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4958     long offsetTop();
4959
4960     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4961     long offsetWidth();
4962
4963     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4964     long offsetHeight();
4965
4966     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4967     IHTMLElement *offsetParent();
4968
4969     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4970     void innerHTML(BSTR v);
4971
4972     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4973     BSTR innerHTML();
4974
4975     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4976     void innerText(BSTR v);
4977
4978     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4979     BSTR innerText();
4980
4981     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4982     void outerHTML(BSTR v);
4983
4984     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4985     BSTR outerHTML();
4986
4987     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4988     void outerText(BSTR v);
4989
4990     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4991     BSTR outerText();
4992
4993     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4994     void insertAdjacentHTML(
4995             [in] BSTR where,
4996             [in] BSTR html);
4997
4998     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4999     void insertAdjacentText(
5000             [in] BSTR where,
5001             [in] BSTR text);
5002
5003     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
5004     IHTMLElement *parentTextEdit();
5005
5006     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
5007     VARIANT_BOOL isTextEdit();
5008
5009     [id(DISPID_IHTMLELEMENT_CLICK)]
5010     void click();
5011
5012     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
5013     IHTMLFiltersCollection *filters();
5014
5015     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5016     void ondragstart(VARIANT v);
5017
5018     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5019     VARIANT ondragstart();
5020
5021     [id(DISPID_IHTMLELEMENT_TOSTRING)]
5022     BSTR toString();
5023
5024     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5025     void onbeforeupdate(VARIANT v);
5026
5027     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5028     VARIANT onbeforeupdate();
5029
5030     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5031     void onafterupdate(VARIANT v);
5032
5033     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5034     VARIANT onafterupdate();
5035
5036     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5037     void onerrorupdate(VARIANT v);
5038
5039     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5040     VARIANT onerrorupdate();
5041
5042     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5043     void onrowexit(VARIANT v);
5044
5045     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5046     VARIANT onrowexit();
5047
5048     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5049     void onrowenter(VARIANT v);
5050
5051     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5052     VARIANT onrowenter();
5053
5054     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5055     void ondatasetchanged(VARIANT v);
5056
5057     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5058     VARIANT ondatasetchanged();
5059
5060     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5061     void ondataavailable(VARIANT v);
5062
5063     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5064     VARIANT ondataavailable();
5065
5066     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5067     void ondatasetcomplete(VARIANT v);
5068
5069     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5070     VARIANT ondatasetcomplete();
5071
5072     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5073     void onfilterchange(VARIANT v);
5074
5075     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5076     VARIANT onfilterchange();
5077
5078     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
5079     IDispatch *children();
5080
5081     [propget, id(DISPID_IHTMLELEMENT_ALL)]
5082     IDispatch *all();
5083
5084     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
5085     BSTR scopeName();
5086
5087     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
5088     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
5089
5090     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
5091     void releaseCapture();
5092
5093     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5094     void onlosecapture(VARIANT v);
5095
5096     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5097     VARIANT onlosecapture();
5098
5099     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
5100     BSTR componentFromPoint(
5101             [in] long x,
5102             [in] long y);
5103
5104     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
5105     void doScroll([in, optional] VARIANT component);
5106
5107     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5108     void onscroll(VARIANT v);
5109
5110     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5111     VARIANT onscroll();
5112
5113     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5114     void ondrag(VARIANT v);
5115
5116     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5117     VARIANT ondrag();
5118
5119     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5120     void ondragend(VARIANT v);
5121
5122     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5123     VARIANT ondragend();
5124
5125     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5126     void ondragenter(VARIANT v);
5127
5128     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5129     VARIANT ondragenter();
5130
5131     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5132     void ondragover(VARIANT v);
5133
5134     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5135     VARIANT ondragover();
5136
5137     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5138     void ondragleave(VARIANT v);
5139
5140     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5141     VARIANT ondragleave();
5142
5143     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5144     void ondrop(VARIANT v);
5145
5146     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5147     VARIANT ondrop();
5148
5149     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5150     void onbeforecut(VARIANT v);
5151
5152     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5153     VARIANT onbeforecut();
5154
5155     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5156     void oncut(VARIANT v);
5157
5158     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5159     VARIANT oncut();
5160
5161     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5162     void onbeforecopy(VARIANT v);
5163
5164     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5165     VARIANT onbeforecopy();
5166
5167     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5168     void oncopy(VARIANT v);
5169
5170     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5171     VARIANT oncopy();
5172
5173     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5174     void onbeforepaste(VARIANT v);
5175
5176     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5177     VARIANT onbeforepaste();
5178
5179     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5180     void onpaste(VARIANT v);
5181
5182     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5183     VARIANT onpaste();
5184
5185     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5186     IHTMLCurrentStyle *currentStyle();
5187
5188     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5189     void onpropertychange(VARIANT v);
5190
5191     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5192     VARIANT onpropertychange();
5193
5194     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5195     IHTMLRectCollection *getClientRects();
5196
5197     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5198     IHTMLRect *getBoundingClientRect();
5199
5200     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5201     void setExpression(
5202             [in] BSTR propname,
5203             [in] BSTR expression,
5204             [in, defaultvalue("")] BSTR language);
5205
5206     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5207     VARIANT getExpression([in] BSTR propname);
5208
5209     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5210     VARIANT_BOOL removeExpression([in] BSTR propname);
5211
5212     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5213     void tabIndex(short v);
5214
5215     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5216     short tabIndex();
5217
5218     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5219     void focus();
5220
5221     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5222     void accessKey(BSTR v);
5223
5224     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5225     BSTR accessKey();
5226
5227     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5228     void onblur(VARIANT v);
5229
5230     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5231     VARIANT onblur();
5232
5233     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5234     void onfocus(VARIANT v);
5235
5236     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5237     VARIANT onfocus();
5238
5239     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5240     void onresize(VARIANT v);
5241
5242     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5243     VARIANT onresize();
5244
5245     [id(DISPID_IHTMLELEMENT2_BLUR)]
5246     void blur();
5247
5248     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5249     void addFilter([in] IUnknown *pUnk);
5250
5251     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5252     void removeFilter([in] IUnknown *pUnk);
5253
5254     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5255     long clientHeight();
5256
5257     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5258     long clientWidth();
5259
5260     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5261     long clientTop();
5262
5263     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5264     long clientLeft();
5265
5266     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5267     VARIANT_BOOL attachEvent(
5268             [in] BSTR event,
5269             [in] IDispatch *pDisp);
5270
5271     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5272     void detachEvent(
5273             [in] BSTR event,
5274             [in] IDispatch *pDisp);
5275
5276     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5277     VARIANT readyState();
5278
5279     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5280     void onreadystatechange(VARIANT v);
5281
5282     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5283     VARIANT onreadystatechange();
5284
5285     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5286     void onrowsdelete(VARIANT v);
5287
5288     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5289     VARIANT onrowsdelete();
5290
5291     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5292     void onrowsinserted(VARIANT v);
5293
5294     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5295      VARIANT onrowsinserted();
5296
5297     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5298      void oncellchange(VARIANT v);
5299
5300     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5301     VARIANT oncellchange();
5302
5303     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5304     void dir(BSTR v);
5305
5306     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5307     BSTR dir();
5308
5309     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5310     IDispatch *createControlRange();
5311
5312     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5313     long scrollHeight();
5314
5315     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5316     long scrollWidth();
5317
5318     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5319     void scrollTop(long v);
5320
5321     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5322     long scrollTop();
5323
5324     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5325     void scrollLeft(long v);
5326
5327     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5328     long scrollLeft();
5329
5330     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5331     void clearAttributes();
5332
5333     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5334     void oncontextmenu(VARIANT v);
5335
5336     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5337     VARIANT oncontextmenu();
5338
5339     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5340     IHTMLElement *insertAdjacentElement(
5341             [in] BSTR where,
5342             [in] IHTMLElement *insertedElement);
5343
5344     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5345     IHTMLElement *applyElement(
5346             [in] IHTMLElement *apply,
5347             [in] BSTR where);
5348
5349     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5350     BSTR getAdjacentText([in] BSTR where);
5351
5352     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5353     BSTR replaceAdjacentText(
5354             [in] BSTR where,
5355             [in] BSTR newText);
5356
5357     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5358     VARIANT_BOOL canHaveChildren();
5359
5360     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5361     long addBehavior(
5362             [in] BSTR bstrUrl,
5363             [in, optional] VARIANT *pvarFactory);
5364
5365     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5366     VARIANT_BOOL removeBehavior([in] long cookie);
5367
5368     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5369     IHTMLStyle *runtimeStyle();
5370
5371     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5372     IDispatch *behaviorUrns();
5373
5374     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5375     void tagUrn(BSTR v);
5376
5377     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5378     BSTR tagUrn();
5379
5380     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5381     void onbeforeeditfocus(VARIANT v);
5382
5383     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5384     VARIANT onbeforeeditfocus();
5385
5386     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5387     long readyStateValue();
5388
5389     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5390     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
5391
5392     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
5393     void mergeAttributes(
5394             [in] IHTMLElement *mergeThis,
5395             [in, optional] VARIANT *pvarFlags);
5396
5397     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5398     VARIANT_BOOL isMultiLine();
5399
5400     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5401     VARIANT_BOOL canHaveHTML();
5402
5403     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5404     void onlayoutcomplete(VARIANT v);
5405
5406     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5407     VARIANT onlayoutcomplete();
5408
5409     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5410     void onpage(VARIANT v);
5411
5412     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5413     VARIANT onpage();
5414
5415     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5416     void inflateBlock(VARIANT_BOOL v);
5417
5418     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5419     VARIANT_BOOL inflateBlock();
5420
5421     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5422     void onbeforedeactivate(VARIANT v);
5423
5424     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5425     VARIANT onbeforedeactivate();
5426
5427     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
5428     void setActive();
5429
5430     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5431     void contentEditable(BSTR v);
5432
5433     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5434     BSTR contentEditable();
5435
5436     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5437     VARIANT_BOOL isContentEditable();
5438
5439     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5440     void hideFocus(VARIANT_BOOL v);
5441
5442     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5443     VARIANT_BOOL hideFocus();
5444
5445     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5446     void disabled(VARIANT_BOOL v);
5447
5448     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5449     VARIANT_BOOL disabled();
5450
5451     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5452     VARIANT_BOOL isDisabled();
5453
5454     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5455     void onmove(VARIANT v);
5456
5457     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5458     VARIANT onmove();
5459
5460     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5461     void oncontrolselect(VARIANT v);
5462
5463     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5464     VARIANT oncontrolselect();
5465
5466     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5467     VARIANT_BOOL fireEvent(
5468             [in] BSTR bstrEventName,
5469             [in, optional] VARIANT *pvarEventObject);
5470
5471     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5472     void onresizestart(VARIANT v);
5473
5474     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5475     VARIANT onresizestart();
5476
5477     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5478     void onresizeend(VARIANT v);
5479
5480     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5481     VARIANT onresizeend();
5482
5483     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5484     void onmovestart(VARIANT v);
5485
5486     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5487     VARIANT onmovestart();
5488
5489     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5490     void onmoveend(VARIANT v);
5491
5492     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5493     VARIANT onmoveend();
5494
5495     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5496     void onmouseenter(VARIANT v);
5497
5498     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5499     VARIANT onmouseenter();
5500
5501     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5502     void onmouseleave(VARIANT v);
5503
5504     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5505     VARIANT onmouseleave();
5506
5507     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5508     void onactivate(VARIANT v);
5509
5510     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5511     VARIANT onactivate();
5512
5513     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5514     void ondeactivate(VARIANT v);
5515
5516     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5517     VARIANT ondeactivate();
5518
5519     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
5520     VARIANT_BOOL dragDrop();
5521
5522     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5523     LONG glyphMode();
5524
5525     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5526     void onmousewheel(VARIANT v);
5527
5528     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5529     VARIANT onmousewheel();
5530
5531     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5532     void normalize();
5533
5534     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5535     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
5536
5537     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5538     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
5539
5540     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5541     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
5542
5543     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5544     void onbeforeactivate(VARIANT v);
5545
5546     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5547     VARIANT onbeforeactivate();
5548
5549     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5550     void onfocusin(VARIANT v);
5551
5552     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5553     VARIANT onfocusin();
5554
5555     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5556     void onfocusout(VARIANT v);
5557
5558     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5559     VARIANT onfocusout();
5560
5561     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5562     long uniqueNumber();
5563
5564     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5565     BSTR uniqueID();
5566
5567     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
5568     long nodeType();
5569
5570     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
5571     IHTMLDOMNode *parentNode();
5572
5573     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
5574     VARIANT_BOOL hasChildNodes();
5575
5576     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
5577     IDispatch *childNodes();
5578
5579     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
5580     IDispatch *attributes();
5581
5582     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
5583     IHTMLDOMNode *insertBefore(
5584             [in] IHTMLDOMNode *newChild,
5585             [in, optional] VARIANT refChild);
5586
5587     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
5588     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
5589
5590     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
5591     IHTMLDOMNode *replaceChild(
5592             [in] IHTMLDOMNode *newChild,
5593             [in] IHTMLDOMNode *oldChild);
5594
5595     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
5596     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
5597
5598     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
5599     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
5600
5601     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
5602     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
5603
5604     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
5605     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
5606
5607     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
5608     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
5609
5610     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
5611     BSTR nodeName();
5612
5613     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5614     void nodeValue(VARIANT v);
5615
5616     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5617     VARIANT nodeValue();
5618
5619     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
5620     IHTMLDOMNode *firstChild();
5621
5622     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
5623     IHTMLDOMNode *lastChild();
5624
5625     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
5626     IHTMLDOMNode *previousSibling();
5627
5628     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
5629     IHTMLDOMNode *nextSibling();
5630
5631     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
5632     IDispatch *ownerDocument();
5633
5634     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5635     void dataFld(BSTR v);
5636
5637     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
5638     BSTR dataFld();
5639
5640     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
5641     void dataSrc(BSTR v);
5642
5643     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
5644     BSTR dataSrc();
5645
5646     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5647     void dataFormatAs(BSTR v);
5648
5649     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
5650     BSTR dataFormatAs();
5651
5652     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
5653     void isMap(VARIANT_BOOL v);
5654
5655     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP), displaybind, bindable]
5656     VARIANT_BOOL isMap();
5657
5658     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
5659     void useMap(BSTR v);
5660
5661     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP), displaybind, bindable]
5662     BSTR useMap();
5663
5664     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
5665     BSTR mimeType();
5666
5667     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
5668     BSTR fileSize();
5669
5670     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
5671     BSTR fileCreatedDate();
5672
5673     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
5674     BSTR fileModifiedDate();
5675
5676     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
5677     BSTR fileUpdatedDate();
5678
5679     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
5680     BSTR protocol();
5681
5682     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
5683     BSTR href();
5684
5685     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
5686     BSTR nameProp();
5687
5688     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
5689     void border(VARIANT v);
5690
5691     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER), displaybind, bindable]
5692     VARIANT border();
5693
5694     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
5695     void vspace(long v);
5696
5697     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE), displaybind, bindable]
5698     long vspace();
5699
5700     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
5701     void hspace(long v);
5702
5703     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE), displaybind, bindable]
5704     long hspace();
5705
5706     [propput, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
5707     void alt(BSTR v);
5708
5709     [propget, id(DISPID_IHTMLIMGELEMENT_ALT), displaybind, bindable]
5710     BSTR alt();
5711
5712     [propput, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
5713     void src(BSTR v);
5714
5715     [propget, id(DISPID_IHTMLIMGELEMENT_SRC), displaybind, bindable]
5716     BSTR src();
5717
5718     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
5719     void lowsrc(BSTR v);
5720
5721     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC), displaybind, bindable]
5722     BSTR lowsrc();
5723
5724     [propput, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
5725     void vrml(BSTR v);
5726
5727     [propget, id(DISPID_IHTMLIMGELEMENT_VRML), displaybind, bindable]
5728     BSTR vrml();
5729
5730     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
5731     void dynsrc(BSTR v);
5732
5733     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC), displaybind, bindable]
5734     BSTR dynsrc();
5735
5736     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
5737     VARIANT_BOOL complete();
5738
5739     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
5740     void loop(VARIANT v);
5741
5742     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP), displaybind, bindable]
5743     VARIANT loop();
5744
5745     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
5746     void align(BSTR v);
5747
5748     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN), displaybind, bindable]
5749     BSTR align();
5750
5751     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
5752     void onload(VARIANT v);
5753
5754     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD), displaybind, bindable]
5755     VARIANT onload();
5756
5757     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
5758     void onerror(VARIANT v);
5759
5760     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR), displaybind, bindable]
5761     VARIANT onerror();
5762
5763     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
5764     void onabort(VARIANT v);
5765
5766     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT), displaybind, bindable]
5767     VARIANT onabort();
5768
5769     [propput, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
5770     void name(BSTR v);
5771
5772     [propget, id(DISPID_IHTMLIMGELEMENT_NAME), displaybind, bindable]
5773     BSTR name();
5774
5775     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5776     void width(long v);
5777
5778     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
5779     long width();
5780
5781     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5782     void height(long v);
5783
5784     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
5785     long height();
5786
5787     [propput, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
5788     void start(BSTR v);
5789
5790     [propget, id(DISPID_IHTMLIMGELEMENT_START), displaybind, bindable]
5791     BSTR start();
5792
5793     [propput, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
5794     void longDesc(BSTR v);
5795
5796     [propget, id(DISPID_IHTMLIMGELEMENT2_LONGDESC), displaybind, bindable]
5797     BSTR longDesc();
5798 }
5799
5800 /*****************************************************************************
5801  *    IHTMLBodyElement interface
5802  */
5803 [
5804     odl,
5805     oleautomation,
5806     dual,
5807     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
5808 ]
5809 interface IHTMLBodyElement : IDispatch
5810 {
5811     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
5812     HRESULT background([in] BSTR v);
5813
5814     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
5815     HRESULT background([retval, out] BSTR *p);
5816
5817     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
5818     HRESULT bgProperties([in] BSTR v);
5819
5820     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
5821     HRESULT bgProperties([retval, out] BSTR *p);
5822
5823     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
5824     HRESULT leftMargin([in] VARIANT v);
5825
5826     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
5827     HRESULT leftMargin([retval, out] VARIANT *p);
5828
5829     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
5830     HRESULT topMargin([in] VARIANT v);
5831
5832     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
5833     HRESULT topMargin([retval, out] VARIANT *p);
5834
5835     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
5836     HRESULT rightMargin([in] VARIANT v);
5837
5838     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
5839     HRESULT rightMargin([retval, out] VARIANT *p);
5840
5841     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
5842     HRESULT bottomMargin([in] VARIANT v);
5843
5844     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
5845     HRESULT bottomMargin([retval, out] VARIANT *p);
5846
5847     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
5848     HRESULT noWrap([in] VARIANT_BOOL v);
5849
5850     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
5851     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
5852
5853     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
5854     HRESULT bgColor([in] VARIANT v);
5855
5856     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
5857     HRESULT bgColor([retval, out] VARIANT *p);
5858
5859     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
5860     HRESULT text([in] VARIANT v);
5861
5862     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
5863     HRESULT text([retval, out] VARIANT *p);
5864
5865     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
5866     HRESULT link([in] VARIANT v);
5867
5868     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
5869     HRESULT link([retval, out] VARIANT *p);
5870
5871     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
5872     HRESULT vLink([in] VARIANT v);
5873
5874     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
5875     HRESULT vLink([retval, out] VARIANT *p);
5876
5877     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
5878     HRESULT aLink([in] VARIANT v);
5879
5880     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
5881     HRESULT aLink([retval, out] VARIANT *p);
5882
5883     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
5884     HRESULT onload([in] VARIANT v);
5885
5886     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
5887     HRESULT onload([retval, out] VARIANT *p);
5888
5889     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
5890     HRESULT onunload([in] VARIANT v);
5891
5892     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
5893     HRESULT onunload([retval, out] VARIANT *p);
5894
5895     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
5896     HRESULT scroll([in] BSTR v);
5897
5898     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
5899     HRESULT scroll([retval, out] BSTR *p);
5900
5901     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
5902     HRESULT onselect([in] VARIANT v);
5903
5904     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
5905     HRESULT onselect([retval, out] VARIANT *p);
5906
5907     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
5908     HRESULT onbeforeunload([in] VARIANT v);
5909
5910     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
5911     HRESULT onbeforeunload([retval, out] VARIANT *p);
5912
5913     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
5914     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
5915 }
5916
5917 /*****************************************************************************
5918  *    IHTMLBodyElement2 interface
5919  */
5920 [
5921     odl,
5922     oleautomation,
5923     dual,
5924     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
5925 ]
5926 interface IHTMLBodyElement2 : IDispatch
5927 {
5928     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
5929     HRESULT onbeforeprint([in] VARIANT v);
5930
5931     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
5932     HRESULT onbeforeprint([retval, out] VARIANT *p);
5933
5934     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
5935     HRESULT onafterprint([in] VARIANT v);
5936
5937     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
5938     HRESULT onafterprint([retval, out] VARIANT *p);
5939 }
5940
5941 /*****************************************************************************
5942  *    IHTMLAnchorElement interface
5943  */
5944 [
5945     odl,
5946     oleautomation,
5947     dual,
5948     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
5949 ]
5950 interface IHTMLAnchorElement : IDispatch
5951 {
5952     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
5953     HRESULT href([in] BSTR v);
5954
5955     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
5956     HRESULT href([retval, out] BSTR *p);
5957
5958     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
5959     HRESULT target([in] BSTR v);
5960
5961     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
5962     HRESULT target([retval, out] BSTR *p);
5963
5964     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
5965     HRESULT rel([in] BSTR v);
5966
5967     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
5968     HRESULT rel([retval, out] BSTR *p);
5969
5970     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
5971     HRESULT rev([in] BSTR v);
5972
5973     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
5974     HRESULT rev([retval, out] BSTR *p);
5975
5976     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
5977     HRESULT urn([in] BSTR v);
5978
5979     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
5980     HRESULT urn([retval, out] BSTR *p);
5981
5982     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
5983     HRESULT Methods([in] BSTR v);
5984
5985     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
5986     HRESULT Methods([retval, out] BSTR *p);
5987
5988     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
5989     HRESULT name([in] BSTR v);
5990
5991     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
5992     HRESULT name([retval, out] BSTR *p);
5993
5994     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
5995     HRESULT host([in] BSTR v);
5996
5997     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
5998     HRESULT host([retval, out] BSTR *p);
5999
6000     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
6001     HRESULT hostname([in] BSTR v);
6002
6003     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
6004     HRESULT hostname([retval, out] BSTR *p);
6005
6006     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
6007     HRESULT pathname([in] BSTR v);
6008
6009     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
6010     HRESULT pathname([retval, out] BSTR *p);
6011
6012     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
6013     HRESULT port([in] BSTR v);
6014
6015     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
6016     HRESULT port([retval, out] BSTR *p);
6017
6018     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
6019     HRESULT protocol([in] BSTR v);
6020
6021     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
6022     HRESULT protocol([retval, out] BSTR *p);
6023
6024     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
6025     HRESULT search([in] BSTR v);
6026
6027     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
6028     HRESULT search([retval, out] BSTR *p);
6029
6030     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
6031     HRESULT hash([in] BSTR v);
6032
6033     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
6034     HRESULT hash([retval, out] BSTR *p);
6035
6036     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
6037     HRESULT onblur([in] VARIANT v);
6038
6039     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
6040     HRESULT onblur([retval, out] VARIANT *p);
6041
6042     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
6043     HRESULT onfocus([in] VARIANT v);
6044
6045     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
6046     HRESULT onfocus([retval, out] VARIANT *p);
6047
6048     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
6049     HRESULT accessKey([in] BSTR v);
6050
6051     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
6052     HRESULT accessKey([retval, out] BSTR *p);
6053
6054     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
6055     HRESULT protocolLong([retval, out] BSTR *p);
6056
6057     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
6058     HRESULT mimeType([retval, out] BSTR *p);
6059
6060     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
6061     HRESULT nameProp([retval, out] BSTR *p);
6062
6063     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
6064     HRESULT tabIndex([in] short v);
6065
6066     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
6067     HRESULT tabIndex([retval, out] short *p);
6068
6069     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
6070     HRESULT focus();
6071
6072     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
6073     HRESULT blur();
6074 }
6075
6076 /*****************************************************************************
6077  *    IHTMLElementCollection interface
6078  */
6079 [
6080     odl,
6081     oleautomation,
6082     dual,
6083     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
6084 ]
6085 interface IHTMLElementCollection : IDispatch
6086 {
6087     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
6088     HRESULT toString([retval, out] BSTR *String);
6089
6090     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
6091     HRESULT length([in] long v);
6092
6093     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
6094     HRESULT length([retval, out] long *p);
6095
6096     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
6097     HRESULT _newEnum([retval, out] IUnknown **p);
6098
6099     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
6100     HRESULT item(
6101         [optional, in] VARIANT name,
6102         [optional, in] VARIANT index,
6103         [retval,  out] IDispatch **pdisp);
6104
6105     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
6106     HRESULT tags(
6107         [in] VARIANT tagName,
6108         [retval, out] IDispatch **pdisp);
6109 }
6110
6111 /*****************************************************************************
6112  *    DispHTMLElementCollection dispinterface
6113  */
6114 [
6115     hidden,
6116     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
6117 ]
6118 dispinterface DispHTMLElementCollection
6119 {
6120 properties:
6121 methods:
6122     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
6123     BSTR toString();
6124
6125     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
6126     void length(long v);
6127
6128     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
6129     long length();
6130
6131     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
6132     IUnknown *_newEnum();
6133
6134     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
6135     IDispatch *item(
6136             [in, optional] VARIANT name,
6137             [in, optional] VARIANT index);
6138
6139     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
6140     IDispatch *tags(
6141             [in] VARIANT tagName);
6142
6143     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
6144     IDispatch *urns([in] VARIANT urn);
6145
6146     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
6147     IDispatch *namedItem([in] BSTR name);
6148 }
6149
6150 /*****************************************************************************
6151  *    IHTMLSelectElement interface
6152  */
6153 [
6154     odl,
6155     oleautomation,
6156     dual,
6157     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
6158 ]
6159 interface IHTMLSelectElement : IDispatch
6160 {
6161     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
6162     HRESULT size([in] long v);
6163
6164     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
6165     HRESULT size([retval, out] long *p);
6166
6167     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
6168     HRESULT multiple([in] VARIANT_BOOL v);
6169
6170     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
6171     HRESULT multiple([retval, out] VARIANT_BOOL *p);
6172
6173     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
6174     HRESULT name([in] BSTR v);
6175
6176     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
6177     HRESULT name([retval, out] BSTR *p);
6178
6179     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
6180     HRESULT options([retval, out] IDispatch **p);
6181
6182     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
6183     HRESULT onchange([in] VARIANT v);
6184
6185     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
6186     HRESULT onchange([retval, out] VARIANT *p);
6187
6188     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
6189     HRESULT selectedIndex([in] long v);
6190
6191     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
6192     HRESULT selectedIndex([retval, out] long *p);
6193
6194     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
6195     HRESULT type([retval, out] BSTR *p);
6196
6197     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
6198     HRESULT value([in] BSTR v);
6199
6200     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
6201     HRESULT value([retval, out] BSTR *p);
6202
6203     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
6204     HRESULT disabled([in] VARIANT_BOOL v);
6205
6206     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
6207     HRESULT disabled([retval, out] VARIANT_BOOL *p);
6208
6209     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
6210     HRESULT form([retval, out] IHTMLFormElement **p);
6211
6212     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
6213     HRESULT add(
6214         [in] IHTMLElement *element,
6215         [optional, in] VARIANT before);
6216
6217     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
6218     HRESULT remove([defaultvalue(-1), in] long index);
6219
6220     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
6221     HRESULT length([in] long v);
6222
6223     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
6224     HRESULT length([retval, out] long *p);
6225
6226     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
6227     HRESULT _newEnum([retval, out] IUnknown **p);
6228
6229     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
6230     HRESULT item(
6231         [optional, in] VARIANT name,
6232         [optional, in] VARIANT index,
6233         [retval, out] IDispatch **pdisp);
6234
6235     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
6236     HRESULT tags(
6237         [in] VARIANT tagName,
6238         [retval, out] IDispatch **pdisp);
6239 }
6240
6241 /*****************************************************************************
6242  *    DispHTMLSelectElement dispinterface
6243  */
6244 [
6245     hidden,
6246     uuid(3050f531-98b5-11cf-bb82-00aa00bdce0b)
6247 ]
6248 dispinterface DispHTMLSelectElement
6249 {
6250 properties:
6251 methods:
6252     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
6253     void setAttribute(
6254             [in] BSTR strAttributeName,
6255             [in] VARIANT AttributeValue,
6256             [in, defaultvalue(1)] LONG lFlags);
6257
6258     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
6259     VARIANT getAttribute(
6260              [in] BSTR strAttributeName,
6261              [in, defaultvalue(0)] LONG lFlags);
6262
6263     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
6264     VARIANT_BOOL removeAttribute(
6265             [in] BSTR strAttributeName,
6266             [in, defaultvalue(1)] LONG lFlags);
6267
6268     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6269     void className(BSTR v);
6270
6271     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
6272     BSTR className();
6273
6274     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
6275     void id(BSTR v);
6276
6277     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
6278     BSTR id();
6279
6280     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
6281     BSTR tagName();
6282
6283     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
6284     IHTMLElement *parentElement();
6285
6286     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
6287     IHTMLStyle *style();
6288
6289     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6290     void onhelp(VARIANT v);
6291
6292     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
6293     VARIANT onhelp();
6294
6295     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6296     void onclick(VARIANT v);
6297
6298     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
6299     VARIANT onclick();
6300
6301     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6302     void ondblclick(VARIANT v);
6303
6304     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
6305     VARIANT ondblclick();
6306
6307     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6308     void onkeydown(VARIANT v);
6309
6310     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
6311     VARIANT onkeydown();
6312
6313     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6314     void onkeyup(VARIANT v);
6315
6316     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
6317     VARIANT onkeyup();
6318
6319     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6320     void onkeypress(VARIANT v);
6321
6322     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
6323     VARIANT onkeypress();
6324
6325     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6326     void onmouseout(VARIANT v);
6327
6328     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
6329     VARIANT onmouseout();
6330
6331     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6332     void onmouseover(VARIANT v);
6333
6334     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
6335     VARIANT onmouseover();
6336
6337     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6338     void onmousemove(VARIANT v);
6339
6340     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
6341     VARIANT onmousemove();
6342
6343     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6344     void onmousedown(VARIANT v);
6345
6346     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
6347     VARIANT onmousedown();
6348
6349     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6350     void onmouseup(VARIANT v);
6351
6352     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
6353     VARIANT onmouseup();
6354
6355     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
6356     IDispatch *document();
6357
6358     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6359     void title(BSTR v);
6360
6361     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
6362     BSTR title();
6363
6364     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6365     void language(BSTR v);
6366
6367     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
6368     BSTR language();
6369
6370     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6371     void onselectstart(VARIANT v);
6372
6373     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
6374     VARIANT onselectstart();
6375
6376     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
6377     void scrollIntoView([in, optional] VARIANT varargStart);
6378
6379     [id(DISPID_IHTMLELEMENT_CONTAINS)]
6380     VARIANT_BOOL contains([in] IHTMLElement *pChild);
6381
6382     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
6383     long sourceIndex();
6384
6385     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
6386     VARIANT recordNumber();
6387
6388     [propput, id(DISPID_IHTMLELEMENT_LANG)]
6389     void lang(BSTR v);
6390
6391     [propget, id(DISPID_IHTMLELEMENT_LANG)]
6392     BSTR lang();
6393
6394     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
6395     long offsetLeft();
6396
6397     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
6398     long offsetTop();
6399
6400     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
6401     long offsetWidth();
6402
6403     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
6404     long offsetHeight();
6405
6406     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
6407     IHTMLElement *offsetParent();
6408
6409     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
6410     void innerHTML(BSTR v);
6411
6412     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
6413     BSTR innerHTML();
6414
6415     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6416     void innerText(BSTR v);
6417
6418     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
6419     BSTR innerText();
6420
6421     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6422     void outerHTML(BSTR v);
6423
6424     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
6425     BSTR outerHTML();
6426
6427     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6428     void outerText(BSTR v);
6429
6430     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
6431     BSTR outerText();
6432
6433     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
6434     void insertAdjacentHTML(
6435             [in] BSTR where,
6436             [in] BSTR html);
6437
6438     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
6439     void insertAdjacentText(
6440             [in] BSTR where,
6441             [in] BSTR text);
6442
6443     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
6444     IHTMLElement *parentTextEdit();
6445
6446     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
6447     VARIANT_BOOL isTextEdit();
6448
6449     [id(DISPID_IHTMLELEMENT_CLICK)]
6450     void click();
6451
6452     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
6453     IHTMLFiltersCollection *filters();
6454
6455     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6456     void ondragstart(VARIANT v);
6457
6458     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
6459     VARIANT ondragstart();
6460
6461     [id(DISPID_IHTMLELEMENT_TOSTRING)]
6462     BSTR toString();
6463
6464     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6465     void onbeforeupdate(VARIANT v);
6466
6467     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
6468     VARIANT onbeforeupdate();
6469
6470     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6471     void onafterupdate(VARIANT v);
6472
6473     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
6474     VARIANT onafterupdate();
6475
6476     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6477     void onerrorupdate(VARIANT v);
6478
6479     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
6480     VARIANT onerrorupdate();
6481
6482     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6483     void onrowexit(VARIANT v);
6484
6485     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
6486     VARIANT onrowexit();
6487
6488     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6489     void onrowenter(VARIANT v);
6490
6491     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
6492     VARIANT onrowenter();
6493
6494     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6495     void ondatasetchanged(VARIANT v);
6496
6497     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
6498     VARIANT ondatasetchanged();
6499
6500     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6501     void ondataavailable(VARIANT v);
6502
6503     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
6504     VARIANT ondataavailable();
6505
6506     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6507     void ondatasetcomplete(VARIANT v);
6508
6509     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
6510     VARIANT ondatasetcomplete();
6511
6512     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6513     void onfilterchange(VARIANT v);
6514
6515     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
6516     VARIANT onfilterchange();
6517
6518     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
6519     IDispatch *children();
6520
6521     [propget, id(DISPID_IHTMLELEMENT_ALL)]
6522     IDispatch *all();
6523
6524     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
6525     BSTR scopeName();
6526
6527     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
6528     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
6529
6530     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
6531     void releaseCapture();
6532
6533     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6534     void onlosecapture(VARIANT v);
6535
6536     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
6537     VARIANT onlosecapture();
6538
6539     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
6540     BSTR componentFromPoint(
6541             [in] long x,
6542             [in] long y);
6543
6544     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
6545     void doScroll([in, optional] VARIANT component);
6546
6547     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6548     void onscroll(VARIANT v);
6549
6550     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
6551     VARIANT onscroll();
6552
6553     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6554     void ondrag(VARIANT v);
6555
6556     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
6557     VARIANT ondrag();
6558
6559     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6560     void ondragend(VARIANT v);
6561
6562     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
6563     VARIANT ondragend();
6564
6565     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6566     void ondragenter(VARIANT v);
6567
6568     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
6569     VARIANT ondragenter();
6570
6571     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6572     void ondragover(VARIANT v);
6573
6574     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
6575     VARIANT ondragover();
6576
6577     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6578     void ondragleave(VARIANT v);
6579
6580     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
6581     VARIANT ondragleave();
6582
6583     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6584     void ondrop(VARIANT v);
6585
6586     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
6587     VARIANT ondrop();
6588
6589     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6590     void onbeforecut(VARIANT v);
6591
6592     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
6593     VARIANT onbeforecut();
6594
6595     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6596     void oncut(VARIANT v);
6597
6598     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
6599     VARIANT oncut();
6600
6601     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6602     void onbeforecopy(VARIANT v);
6603
6604     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
6605     VARIANT onbeforecopy();
6606
6607     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6608     void oncopy(VARIANT v);
6609
6610     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
6611     VARIANT oncopy();
6612
6613     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6614     void onbeforepaste(VARIANT v);
6615
6616     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
6617     VARIANT onbeforepaste();
6618
6619     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6620     void onpaste(VARIANT v);
6621
6622     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
6623     VARIANT onpaste();
6624
6625     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
6626     IHTMLCurrentStyle *currentStyle();
6627
6628     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6629     void onpropertychange(VARIANT v);
6630
6631     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
6632     VARIANT onpropertychange();
6633
6634     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
6635     IHTMLRectCollection *getClientRects();
6636
6637     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
6638     IHTMLRect *getBoundingClientRect();
6639
6640     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
6641     void setExpression(
6642             [in] BSTR propname,
6643             [in] BSTR expression,
6644             [in, defaultvalue("")] BSTR language);
6645
6646     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
6647     VARIANT getExpression([in] BSTR propname);
6648
6649     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
6650     VARIANT_BOOL removeExpression([in] BSTR propname);
6651
6652     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6653     void tabIndex(short v);
6654
6655     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
6656     short tabIndex();
6657
6658     [id(DISPID_IHTMLELEMENT2_FOCUS)]
6659     void focus();
6660
6661     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6662     void accessKey(BSTR v);
6663
6664     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
6665     BSTR accessKey();
6666
6667     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6668     void onblur(VARIANT v);
6669
6670     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
6671     VARIANT onblur();
6672
6673     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6674     void onfocus(VARIANT v);
6675
6676     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
6677     VARIANT onfocus();
6678
6679     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6680     void onresize(VARIANT v);
6681
6682     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
6683     VARIANT onresize();
6684
6685     [id(DISPID_IHTMLELEMENT2_BLUR)]
6686     void blur();
6687
6688     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
6689     void addFilter([in] IUnknown *pUnk);
6690
6691     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
6692     void removeFilter([in] IUnknown *pUnk);
6693
6694     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
6695     long clientHeight();
6696
6697     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
6698     long clientWidth();
6699
6700     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
6701     long clientTop();
6702
6703     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
6704     long clientLeft();
6705
6706     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
6707     VARIANT_BOOL attachEvent(
6708             [in] BSTR event,
6709             [in] IDispatch *pDisp);
6710
6711     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
6712     void detachEvent(
6713             [in] BSTR event,
6714             [in] IDispatch *pDisp);
6715
6716     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
6717     VARIANT readyState();
6718
6719     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6720     void onreadystatechange(VARIANT v);
6721
6722     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
6723     VARIANT onreadystatechange();
6724
6725     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6726     void onrowsdelete(VARIANT v);
6727
6728     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
6729     VARIANT onrowsdelete();
6730
6731     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6732     void onrowsinserted(VARIANT v);
6733
6734     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
6735      VARIANT onrowsinserted();
6736
6737     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6738      void oncellchange(VARIANT v);
6739
6740     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
6741     VARIANT oncellchange();
6742
6743     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6744     void dir(BSTR v);
6745
6746     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
6747     BSTR dir();
6748
6749     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
6750     IDispatch *createControlRange();
6751
6752     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
6753     long scrollHeight();
6754
6755     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
6756     long scrollWidth();
6757
6758     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6759     void scrollTop(long v);
6760
6761     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
6762     long scrollTop();
6763
6764     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6765     void scrollLeft(long v);
6766
6767     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
6768     long scrollLeft();
6769
6770     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
6771     void clearAttributes();
6772
6773     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6774     void oncontextmenu(VARIANT v);
6775
6776     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
6777     VARIANT oncontextmenu();
6778
6779     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
6780     IHTMLElement *insertAdjacentElement(
6781             [in] BSTR where,
6782             [in] IHTMLElement *insertedElement);
6783
6784     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
6785     IHTMLElement *applyElement(
6786             [in] IHTMLElement *apply,
6787             [in] BSTR where);
6788
6789     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
6790     BSTR getAdjacentText([in] BSTR where);
6791
6792     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
6793     BSTR replaceAdjacentText(
6794             [in] BSTR where,
6795             [in] BSTR newText);
6796
6797     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
6798     VARIANT_BOOL canHaveChildren();
6799
6800     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
6801     long addBehavior(
6802             [in] BSTR bstrUrl,
6803             [in, optional] VARIANT *pvarFactory);
6804
6805     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
6806     VARIANT_BOOL removeBehavior([in] long cookie);
6807
6808     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
6809     IHTMLStyle *runtimeStyle();
6810
6811     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
6812     IDispatch *behaviorUrns();
6813
6814     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
6815     void tagUrn(BSTR v);
6816
6817     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
6818     BSTR tagUrn();
6819
6820     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6821     void onbeforeeditfocus(VARIANT v);
6822
6823     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
6824     VARIANT onbeforeeditfocus();
6825
6826     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
6827     long readyStateValue();
6828
6829     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
6830     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
6831
6832     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
6833     void mergeAttributes(
6834             [in] IHTMLElement *mergeThis,
6835             [in, optional] VARIANT *pvarFlags);
6836
6837     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
6838     VARIANT_BOOL isMultiLine();
6839
6840     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
6841     VARIANT_BOOL canHaveHTML();
6842
6843     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6844     void onlayoutcomplete(VARIANT v);
6845
6846     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
6847     VARIANT onlayoutcomplete();
6848
6849     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6850     void onpage(VARIANT v);
6851
6852     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
6853     VARIANT onpage();
6854
6855     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6856     void inflateBlock(VARIANT_BOOL v);
6857
6858     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
6859     VARIANT_BOOL inflateBlock();
6860
6861     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6862     void onbeforedeactivate(VARIANT v);
6863
6864     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
6865     VARIANT onbeforedeactivate();
6866
6867     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
6868     void setActive();
6869
6870     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6871     void contentEditable(BSTR v);
6872
6873     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
6874     BSTR contentEditable();
6875
6876     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
6877     VARIANT_BOOL isContentEditable();
6878
6879     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6880     void hideFocus(VARIANT_BOOL v);
6881
6882     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
6883     VARIANT_BOOL hideFocus();
6884
6885     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6886     void disabled(VARIANT_BOOL v);
6887
6888     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
6889     VARIANT_BOOL disabled();
6890
6891     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
6892     VARIANT_BOOL isDisabled();
6893
6894     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6895     void onmove(VARIANT v);
6896
6897     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
6898     VARIANT onmove();
6899
6900     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6901     void oncontrolselect(VARIANT v);
6902
6903     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
6904     VARIANT oncontrolselect();
6905
6906     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
6907     VARIANT_BOOL fireEvent(
6908             [in] BSTR bstrEventName,
6909             [in, optional] VARIANT *pvarEventObject);
6910
6911     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6912     void onresizestart(VARIANT v);
6913
6914     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
6915     VARIANT onresizestart();
6916
6917     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6918     void onresizeend(VARIANT v);
6919
6920     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
6921     VARIANT onresizeend();
6922
6923     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6924     void onmovestart(VARIANT v);
6925
6926     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
6927     VARIANT onmovestart();
6928
6929     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6930     void onmoveend(VARIANT v);
6931
6932     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
6933     VARIANT onmoveend();
6934
6935     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6936     void onmouseenter(VARIANT v);
6937
6938     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
6939     VARIANT onmouseenter();
6940
6941     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6942     void onmouseleave(VARIANT v);
6943
6944     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
6945     VARIANT onmouseleave();
6946
6947     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6948     void onactivate(VARIANT v);
6949
6950     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
6951     VARIANT onactivate();
6952
6953     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6954     void ondeactivate(VARIANT v);
6955
6956     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
6957     VARIANT ondeactivate();
6958
6959     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
6960     VARIANT_BOOL dragDrop();
6961
6962     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
6963     LONG glyphMode();
6964
6965     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6966     void onmousewheel(VARIANT v);
6967
6968     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
6969     VARIANT onmousewheel();
6970
6971     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
6972     void normalize();
6973
6974     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
6975     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
6976
6977     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
6978     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
6979
6980     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
6981     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
6982
6983     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6984     void onbeforeactivate(VARIANT v);
6985
6986     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
6987     VARIANT onbeforeactivate();
6988
6989     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6990     void onfocusin(VARIANT v);
6991
6992     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
6993     VARIANT onfocusin();
6994
6995     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6996     void onfocusout(VARIANT v);
6997
6998     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
6999     VARIANT onfocusout();
7000
7001     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
7002     long uniqueNumber();
7003
7004     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
7005     BSTR uniqueID();
7006
7007     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
7008     long nodeType();
7009
7010     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
7011     IHTMLDOMNode *parentNode();
7012
7013     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
7014     VARIANT_BOOL hasChildNodes();
7015
7016     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
7017     IDispatch *childNodes();
7018
7019     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
7020     IDispatch *attributes();
7021
7022     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
7023     IHTMLDOMNode *insertBefore(
7024             [in] IHTMLDOMNode *newChild,
7025             [in, optional] VARIANT refChild);
7026
7027     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
7028     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
7029
7030     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
7031     IHTMLDOMNode *replaceChild(
7032             [in] IHTMLDOMNode *newChild,
7033             [in] IHTMLDOMNode *oldChild);
7034
7035     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
7036     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
7037
7038     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
7039     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
7040
7041     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
7042     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
7043
7044     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
7045     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
7046
7047     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
7048     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
7049
7050     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
7051     BSTR nodeName();
7052
7053     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7054     void nodeValue(VARIANT v);
7055
7056     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
7057     VARIANT nodeValue();
7058
7059     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
7060     IHTMLDOMNode *firstChild();
7061
7062     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
7063     IHTMLDOMNode *lastChild();
7064
7065     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
7066     IHTMLDOMNode *previousSibling();
7067
7068     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
7069     IHTMLDOMNode *nextSibling();
7070
7071     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
7072     IDispatch *ownerDocument();
7073
7074     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7075     void dataFld(BSTR v);
7076
7077     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
7078     BSTR dataFld();
7079
7080     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
7081     void dataSrc(BSTR v);
7082
7083     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
7084     BSTR dataSrc();
7085
7086     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7087     void dataFormatAs(BSTR v);
7088
7089     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
7090     BSTR dataFormatAs();
7091
7092     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7093     void size(long v);
7094
7095     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
7096     long size();
7097
7098     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7099     void multiple(VARIANT_BOOL v);
7100
7101     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
7102     VARIANT_BOOL multiple();
7103
7104     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7105     void name(BSTR v);
7106
7107     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
7108     BSTR name();
7109
7110     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
7111     IDispatch *options();
7112
7113     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7114     void onchange(VARIANT v);
7115
7116     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
7117     VARIANT onchange();
7118
7119     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7120     void selectedIndex(long v);
7121
7122     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
7123     long selectedIndex();
7124
7125     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
7126     BSTR type();
7127
7128     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7129     void value(BSTR v);
7130
7131     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
7132     BSTR value();
7133
7134     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
7135     IHTMLFormElement *form();
7136
7137     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
7138     void add(
7139             [in] IHTMLElement *element,
7140             [in, optional] VARIANT before);
7141
7142     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
7143     void remove([in, defaultvalue(-1)] long index);
7144
7145     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7146     void length(long v);
7147
7148     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
7149     long length();
7150
7151     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
7152     IUnknown *_newEnum();
7153
7154     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
7155     IDispatch *item(
7156             [in, optional] VARIANT name,
7157             [in, optional] VARIANT index);
7158
7159     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
7160     IDispatch *tags([in] VARIANT tagName);
7161
7162     [id(DISPID_IHTMLSELECTELEMENT2_URNS)]
7163     IDispatch *urns([in] VARIANT urn);
7164
7165     [id(DISPID_IHTMLSELECTELEMENT4_NAMEDITEM)]
7166     IDispatch *namedItem([in] BSTR name);
7167 }
7168
7169 /*****************************************************************************
7170  *    IHTMLSelectionObject interface
7171  */
7172 [
7173     odl,
7174     oleautomation,
7175     dual,
7176     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
7177 ]
7178 interface IHTMLSelectionObject : IDispatch
7179 {
7180     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
7181     HRESULT createRange([retval, out] IDispatch **range);
7182
7183     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
7184     HRESULT empty();
7185
7186     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
7187     HRESULT clear();
7188
7189     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
7190     HRESULT type([retval, out] BSTR *p);
7191 }
7192
7193 /*****************************************************************************
7194  *    IHTMLOptionElement interface
7195  */
7196 [
7197     odl,
7198     oleautomation,
7199     dual,
7200     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
7201 ]
7202 interface IHTMLOptionElement : IDispatch
7203 {
7204     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7205     HRESULT selected([in] VARIANT_BOOL v);
7206
7207     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
7208     HRESULT selected([retval, out] VARIANT_BOOL *p);
7209
7210     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7211     HRESULT value([in] BSTR v);
7212
7213     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
7214     HRESULT value([retval, out] BSTR *p);
7215
7216     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7217     HRESULT defaultSelected([in] VARIANT_BOOL v);
7218
7219     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
7220     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
7221
7222     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7223     HRESULT index([in] LONG v);
7224
7225     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
7226     HRESULT index([retval, out] LONG *p);
7227
7228     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7229     HRESULT text([in] BSTR v);
7230
7231     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
7232     HRESULT text([retval, out] BSTR *p);
7233
7234     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
7235     HRESULT form([retval, out] IHTMLFormElement **p);
7236 }
7237
7238 /*****************************************************************************
7239  *    IHTMLOptionElementFactory interface
7240  */
7241 [
7242     odl,
7243     oleautomation,
7244     dual,
7245     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
7246 ]
7247 interface IHTMLOptionElementFactory : IDispatch
7248 {
7249     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
7250     HRESULT create(
7251         [optional, in] VARIANT text,
7252         [optional, in] VARIANT value,
7253         [optional, in] VARIANT defaultselected,
7254         [optional, in] VARIANT selected,
7255         [retval, out] IHTMLOptionElement **optelem);
7256 }
7257
7258 /*****************************************************************************
7259  *    DispHTMLOptionElement dispinterface
7260  */
7261 [
7262     hidden,
7263     uuid(3050f52b-98b5-11cf-bb82-00aa00bdce0b)
7264 ]
7265 dispinterface DispHTMLOptionElement
7266 {
7267 properties:
7268 methods:
7269     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
7270     void setAttribute(
7271             [in] BSTR strAttributeName,
7272             [in] VARIANT AttributeValue,
7273             [in, defaultvalue(1)] LONG lFlags);
7274
7275     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
7276     VARIANT getAttribute(
7277              [in] BSTR strAttributeName,
7278              [in, defaultvalue(0)] LONG lFlags);
7279
7280     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
7281     VARIANT_BOOL removeAttribute(
7282             [in] BSTR strAttributeName,
7283             [in, defaultvalue(1)] LONG lFlags);
7284
7285     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7286     void className(BSTR v);
7287
7288     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
7289     BSTR className();
7290
7291     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
7292     void id(BSTR v);
7293
7294     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
7295     BSTR id();
7296
7297     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
7298     BSTR tagName();
7299
7300     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
7301     IHTMLElement *parentElement();
7302
7303     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
7304     IHTMLStyle *style();
7305
7306     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7307     void onhelp(VARIANT v);
7308
7309     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
7310     VARIANT onhelp();
7311
7312     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7313     void onclick(VARIANT v);
7314
7315     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
7316     VARIANT onclick();
7317
7318     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7319     void ondblclick(VARIANT v);
7320
7321     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
7322     VARIANT ondblclick();
7323
7324     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7325     void onkeydown(VARIANT v);
7326
7327     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
7328     VARIANT onkeydown();
7329
7330     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7331     void onkeyup(VARIANT v);
7332
7333     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
7334     VARIANT onkeyup();
7335
7336     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7337     void onkeypress(VARIANT v);
7338
7339     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
7340     VARIANT onkeypress();
7341
7342     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7343     void onmouseout(VARIANT v);
7344
7345     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
7346     VARIANT onmouseout();
7347
7348     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7349     void onmouseover(VARIANT v);
7350
7351     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
7352     VARIANT onmouseover();
7353
7354     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7355     void onmousemove(VARIANT v);
7356
7357     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
7358     VARIANT onmousemove();
7359
7360     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7361     void onmousedown(VARIANT v);
7362
7363     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
7364     VARIANT onmousedown();
7365
7366     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7367     void onmouseup(VARIANT v);
7368
7369     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
7370     VARIANT onmouseup();
7371
7372     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
7373     IDispatch *document();
7374
7375     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7376     void title(BSTR v);
7377
7378     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
7379     BSTR title();
7380
7381     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7382     void language(BSTR v);
7383
7384     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
7385     BSTR language();
7386
7387     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7388     void onselectstart(VARIANT v);
7389
7390     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
7391     VARIANT onselectstart();
7392
7393     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
7394     void scrollIntoView([in, optional] VARIANT varargStart);
7395
7396     [id(DISPID_IHTMLELEMENT_CONTAINS)]
7397     VARIANT_BOOL contains([in] IHTMLElement *pChild);
7398
7399     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
7400     long sourceIndex();
7401
7402     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
7403     VARIANT recordNumber();
7404
7405     [propput, id(DISPID_IHTMLELEMENT_LANG)]
7406     void lang(BSTR v);
7407
7408     [propget, id(DISPID_IHTMLELEMENT_LANG)]
7409     BSTR lang();
7410
7411     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
7412     long offsetLeft();
7413
7414     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
7415     long offsetTop();
7416
7417     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
7418     long offsetWidth();
7419
7420     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
7421     long offsetHeight();
7422
7423     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
7424     IHTMLElement *offsetParent();
7425
7426     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
7427     void innerHTML(BSTR v);
7428
7429     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
7430     BSTR innerHTML();
7431
7432     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7433     void innerText(BSTR v);
7434
7435     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
7436     BSTR innerText();
7437
7438     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7439     void outerHTML(BSTR v);
7440
7441     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
7442     BSTR outerHTML();
7443
7444     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7445     void outerText(BSTR v);
7446
7447     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
7448     BSTR outerText();
7449
7450     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
7451     void insertAdjacentHTML(
7452             [in] BSTR where,
7453             [in] BSTR html);
7454
7455     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
7456     void insertAdjacentText(
7457             [in] BSTR where,
7458             [in] BSTR text);
7459
7460     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
7461     IHTMLElement *parentTextEdit();
7462
7463     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
7464     VARIANT_BOOL isTextEdit();
7465
7466     [id(DISPID_IHTMLELEMENT_CLICK)]
7467     void click();
7468
7469     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
7470     IHTMLFiltersCollection *filters();
7471
7472     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7473     void ondragstart(VARIANT v);
7474
7475     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
7476     VARIANT ondragstart();
7477
7478     [id(DISPID_IHTMLELEMENT_TOSTRING)]
7479     BSTR toString();
7480
7481     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7482     void onbeforeupdate(VARIANT v);
7483
7484     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
7485     VARIANT onbeforeupdate();
7486
7487     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7488     void onafterupdate(VARIANT v);
7489
7490     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
7491     VARIANT onafterupdate();
7492
7493     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7494     void onerrorupdate(VARIANT v);
7495
7496     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
7497     VARIANT onerrorupdate();
7498
7499     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7500     void onrowexit(VARIANT v);
7501
7502     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
7503     VARIANT onrowexit();
7504
7505     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7506     void onrowenter(VARIANT v);
7507
7508     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
7509     VARIANT onrowenter();
7510
7511     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7512     void ondatasetchanged(VARIANT v);
7513
7514     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
7515     VARIANT ondatasetchanged();
7516
7517     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7518     void ondataavailable(VARIANT v);
7519
7520     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
7521     VARIANT ondataavailable();
7522
7523     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7524     void ondatasetcomplete(VARIANT v);
7525
7526     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
7527     VARIANT ondatasetcomplete();
7528
7529     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7530     void onfilterchange(VARIANT v);
7531
7532     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
7533     VARIANT onfilterchange();
7534
7535     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
7536     IDispatch *children();
7537
7538     [propget, id(DISPID_IHTMLELEMENT_ALL)]
7539     IDispatch *all();
7540
7541     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
7542     BSTR scopeName();
7543
7544     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
7545     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
7546
7547     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
7548     void releaseCapture();
7549
7550     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7551     void onlosecapture(VARIANT v);
7552
7553     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
7554     VARIANT onlosecapture();
7555
7556     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
7557     BSTR componentFromPoint(
7558             [in] long x,
7559             [in] long y);
7560
7561     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
7562     void doScroll([in, optional] VARIANT component);
7563
7564     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7565     void onscroll(VARIANT v);
7566
7567     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
7568     VARIANT onscroll();
7569
7570     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7571     void ondrag(VARIANT v);
7572
7573     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
7574     VARIANT ondrag();
7575
7576     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7577     void ondragend(VARIANT v);
7578
7579     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
7580     VARIANT ondragend();
7581
7582     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7583     void ondragenter(VARIANT v);
7584
7585     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
7586     VARIANT ondragenter();
7587
7588     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7589     void ondragover(VARIANT v);
7590
7591     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
7592     VARIANT ondragover();
7593
7594     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7595     void ondragleave(VARIANT v);
7596
7597     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
7598     VARIANT ondragleave();
7599
7600     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7601     void ondrop(VARIANT v);
7602
7603     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
7604     VARIANT ondrop();
7605
7606     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7607     void onbeforecut(VARIANT v);
7608
7609     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
7610     VARIANT onbeforecut();
7611
7612     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7613     void oncut(VARIANT v);
7614
7615     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
7616     VARIANT oncut();
7617
7618     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7619     void onbeforecopy(VARIANT v);
7620
7621     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
7622     VARIANT onbeforecopy();
7623
7624     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7625     void oncopy(VARIANT v);
7626
7627     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
7628     VARIANT oncopy();
7629
7630     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7631     void onbeforepaste(VARIANT v);
7632
7633     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
7634     VARIANT onbeforepaste();
7635
7636     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7637     void onpaste(VARIANT v);
7638
7639     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
7640     VARIANT onpaste();
7641
7642     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
7643     IHTMLCurrentStyle *currentStyle();
7644
7645     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7646     void onpropertychange(VARIANT v);
7647
7648     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
7649     VARIANT onpropertychange();
7650
7651     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
7652     IHTMLRectCollection *getClientRects();
7653
7654     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
7655     IHTMLRect *getBoundingClientRect();
7656
7657     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
7658     void setExpression(
7659             [in] BSTR propname,
7660             [in] BSTR expression,
7661             [in, defaultvalue("")] BSTR language);
7662
7663     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
7664     VARIANT getExpression([in] BSTR propname);
7665
7666     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
7667     VARIANT_BOOL removeExpression([in] BSTR propname);
7668
7669     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7670     void tabIndex(short v);
7671
7672     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
7673     short tabIndex();
7674
7675     [id(DISPID_IHTMLELEMENT2_FOCUS)]
7676     void focus();
7677
7678     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7679     void accessKey(BSTR v);
7680
7681     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
7682     BSTR accessKey();
7683
7684     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7685     void onblur(VARIANT v);
7686
7687     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
7688     VARIANT onblur();
7689
7690     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7691     void onfocus(VARIANT v);
7692
7693     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
7694     VARIANT onfocus();
7695
7696     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7697     void onresize(VARIANT v);
7698
7699     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
7700     VARIANT onresize();
7701
7702     [id(DISPID_IHTMLELEMENT2_BLUR)]
7703     void blur();
7704
7705     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
7706     void addFilter([in] IUnknown *pUnk);
7707
7708     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
7709     void removeFilter([in] IUnknown *pUnk);
7710
7711     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
7712     long clientHeight();
7713
7714     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
7715     long clientWidth();
7716
7717     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
7718     long clientTop();
7719
7720     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
7721     long clientLeft();
7722
7723     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
7724     VARIANT_BOOL attachEvent(
7725             [in] BSTR event,
7726             [in] IDispatch *pDisp);
7727
7728     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
7729     void detachEvent(
7730             [in] BSTR event,
7731             [in] IDispatch *pDisp);
7732
7733     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
7734     VARIANT readyState();
7735
7736     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7737     void onreadystatechange(VARIANT v);
7738
7739     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
7740     VARIANT onreadystatechange();
7741
7742     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7743     void onrowsdelete(VARIANT v);
7744
7745     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
7746     VARIANT onrowsdelete();
7747
7748     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7749     void onrowsinserted(VARIANT v);
7750
7751     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
7752      VARIANT onrowsinserted();
7753
7754     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7755      void oncellchange(VARIANT v);
7756
7757     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
7758     VARIANT oncellchange();
7759
7760     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7761     void dir(BSTR v);
7762
7763     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
7764     BSTR dir();
7765
7766     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
7767     IDispatch *createControlRange();
7768
7769     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
7770     long scrollHeight();
7771
7772     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
7773     long scrollWidth();
7774
7775     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7776     void scrollTop(long v);
7777
7778     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
7779     long scrollTop();
7780
7781     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7782     void scrollLeft(long v);
7783
7784     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
7785     long scrollLeft();
7786
7787     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
7788     void clearAttributes();
7789
7790     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7791     void oncontextmenu(VARIANT v);
7792
7793     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
7794     VARIANT oncontextmenu();
7795
7796     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
7797     IHTMLElement *insertAdjacentElement(
7798             [in] BSTR where,
7799             [in] IHTMLElement *insertedElement);
7800
7801     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
7802     IHTMLElement *applyElement(
7803             [in] IHTMLElement *apply,
7804             [in] BSTR where);
7805
7806     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
7807     BSTR getAdjacentText([in] BSTR where);
7808
7809     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
7810     BSTR replaceAdjacentText(
7811             [in] BSTR where,
7812             [in] BSTR newText);
7813
7814     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
7815     VARIANT_BOOL canHaveChildren();
7816
7817     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
7818     long addBehavior(
7819             [in] BSTR bstrUrl,
7820             [in, optional] VARIANT *pvarFactory);
7821
7822     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
7823     VARIANT_BOOL removeBehavior([in] long cookie);
7824
7825     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
7826     IHTMLStyle *runtimeStyle();
7827
7828     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
7829     IDispatch *behaviorUrns();
7830
7831     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
7832     void tagUrn(BSTR v);
7833
7834     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
7835     BSTR tagUrn();
7836
7837     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7838     void onbeforeeditfocus(VARIANT v);
7839
7840     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
7841     VARIANT onbeforeeditfocus();
7842
7843     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
7844     long readyStateValue();
7845
7846     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
7847     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
7848
7849     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
7850     void mergeAttributes(
7851             [in] IHTMLElement *mergeThis,
7852             [in, optional] VARIANT *pvarFlags);
7853
7854     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
7855     VARIANT_BOOL isMultiLine();
7856
7857     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
7858     VARIANT_BOOL canHaveHTML();
7859
7860     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7861     void onlayoutcomplete(VARIANT v);
7862
7863     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
7864     VARIANT onlayoutcomplete();
7865
7866     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7867     void onpage(VARIANT v);
7868
7869     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
7870     VARIANT onpage();
7871
7872     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7873     void inflateBlock(VARIANT_BOOL v);
7874
7875     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
7876     VARIANT_BOOL inflateBlock();
7877
7878     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7879     void onbeforedeactivate(VARIANT v);
7880
7881     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
7882     VARIANT onbeforedeactivate();
7883
7884     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
7885     void setActive();
7886
7887     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7888     void contentEditable(BSTR v);
7889
7890     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
7891     BSTR contentEditable();
7892
7893     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
7894     VARIANT_BOOL isContentEditable();
7895
7896     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7897     void hideFocus(VARIANT_BOOL v);
7898
7899     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
7900     VARIANT_BOOL hideFocus();
7901
7902     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7903     void disabled(VARIANT_BOOL v);
7904
7905     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
7906     VARIANT_BOOL disabled();
7907
7908     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
7909     VARIANT_BOOL isDisabled();
7910
7911     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7912     void onmove(VARIANT v);
7913
7914     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
7915     VARIANT onmove();
7916
7917     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7918     void oncontrolselect(VARIANT v);
7919
7920     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
7921     VARIANT oncontrolselect();
7922
7923     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
7924     VARIANT_BOOL fireEvent(
7925             [in] BSTR bstrEventName,
7926             [in, optional] VARIANT *pvarEventObject);
7927
7928     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7929     void onresizestart(VARIANT v);
7930
7931     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
7932     VARIANT onresizestart();
7933
7934     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7935     void onresizeend(VARIANT v);
7936
7937     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
7938     VARIANT onresizeend();
7939
7940     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7941     void onmovestart(VARIANT v);
7942
7943     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
7944     VARIANT onmovestart();
7945
7946     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7947     void onmoveend(VARIANT v);
7948
7949     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
7950     VARIANT onmoveend();
7951
7952     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7953     void onmouseenter(VARIANT v);
7954
7955     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
7956     VARIANT onmouseenter();
7957
7958     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7959     void onmouseleave(VARIANT v);
7960
7961     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
7962     VARIANT onmouseleave();
7963
7964     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
7965     void onactivate(VARIANT v);
7966
7967     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
7968     VARIANT onactivate();
7969
7970     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7971     void ondeactivate(VARIANT v);
7972
7973     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
7974     VARIANT ondeactivate();
7975
7976     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
7977     VARIANT_BOOL dragDrop();
7978
7979     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
7980     LONG glyphMode();
7981
7982     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
7983     void onmousewheel(VARIANT v);
7984
7985     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
7986     VARIANT onmousewheel();
7987
7988     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
7989     void normalize();
7990
7991     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
7992     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
7993
7994     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
7995     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
7996
7997     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
7998     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
7999
8000     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8001     void onbeforeactivate(VARIANT v);
8002
8003     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
8004     VARIANT onbeforeactivate();
8005
8006     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8007     void onfocusin(VARIANT v);
8008
8009     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
8010     VARIANT onfocusin();
8011
8012     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8013     void onfocusout(VARIANT v);
8014
8015     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
8016     VARIANT onfocusout();
8017
8018     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
8019     long uniqueNumber();
8020
8021     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
8022     BSTR uniqueID();
8023
8024     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
8025     long nodeType();
8026
8027     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
8028     IHTMLDOMNode *parentNode();
8029
8030     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
8031     VARIANT_BOOL hasChildNodes();
8032
8033     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
8034     IDispatch *childNodes();
8035
8036     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
8037     IDispatch *attributes();
8038
8039     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
8040     IHTMLDOMNode *insertBefore(
8041             [in] IHTMLDOMNode *newChild,
8042             [in, optional] VARIANT refChild);
8043
8044     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
8045     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
8046
8047     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
8048     IHTMLDOMNode *replaceChild(
8049             [in] IHTMLDOMNode *newChild,
8050             [in] IHTMLDOMNode *oldChild);
8051
8052     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
8053     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
8054
8055     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
8056     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
8057
8058     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
8059     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
8060
8061     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
8062     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
8063
8064     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
8065     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
8066
8067     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
8068     BSTR nodeName();
8069
8070     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8071     void nodeValue(VARIANT v);
8072
8073     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8074     VARIANT nodeValue();
8075
8076     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
8077     IHTMLDOMNode *firstChild();
8078
8079     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
8080     IHTMLDOMNode *lastChild();
8081
8082     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
8083     IHTMLDOMNode *previousSibling();
8084
8085     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
8086     IHTMLDOMNode *nextSibling();
8087
8088     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
8089     IDispatch *ownerDocument();
8090
8091     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8092     void dataFld(BSTR v);
8093
8094     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
8095     BSTR dataFld();
8096
8097     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
8098     void dataSrc(BSTR v);
8099
8100     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
8101     BSTR dataSrc();
8102
8103     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8104     void dataFormatAs(BSTR v);
8105
8106     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
8107     BSTR dataFormatAs();
8108
8109     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8110     void selected(VARIANT_BOOL v);
8111
8112     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
8113     VARIANT_BOOL selected();
8114
8115     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8116     void value(BSTR v);
8117
8118     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
8119     BSTR value();
8120
8121     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8122     void defaultSelected(VARIANT_BOOL v);
8123
8124     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
8125     VARIANT_BOOL defaultSelected();
8126
8127     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8128     void index(LONG v);
8129
8130     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
8131     LONG index();
8132
8133     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8134     void text(BSTR v);
8135
8136     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
8137     BSTR text();
8138
8139     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
8140     IHTMLFormElement *form();
8141
8142     [propput, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8143     void label(BSTR v);
8144
8145     [propget, id(DISPID_IHTMLOPTIONELEMENT3_LABEL), displaybind, bindable]
8146     BSTR label();
8147 }
8148
8149 /*****************************************************************************
8150  *    IHTMLInputElement interface
8151  */
8152 [
8153     odl,
8154     oleautomation,
8155     dual,
8156     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
8157 ]
8158 interface IHTMLInputElement : IDispatch
8159 {
8160     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8161     HRESULT type([in] BSTR v);
8162
8163     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
8164     HRESULT type([retval, out] BSTR *p);
8165
8166     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8167     HRESULT value([in] BSTR v);
8168
8169     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
8170     HRESULT value([retval, out] BSTR *p);
8171
8172     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8173     HRESULT name([in] BSTR v);
8174
8175     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
8176     HRESULT name([retval, out] BSTR *p);
8177
8178     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8179     HRESULT status([in] VARIANT_BOOL v);
8180
8181     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
8182     HRESULT status([retval, out] VARIANT_BOOL *p);
8183
8184     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8185     HRESULT disabled([in] VARIANT_BOOL v);
8186
8187     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
8188     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8189
8190     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
8191     HRESULT form([retval, out] IHTMLFormElement **p);
8192
8193     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8194     HRESULT size([in] long v);
8195
8196     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
8197     HRESULT size([retval, out] long *p);
8198
8199     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8200     HRESULT maxLength([in] long v);
8201
8202     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
8203     HRESULT maxLength([retval, out] long *p);
8204
8205     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
8206     HRESULT select();
8207
8208     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8209     HRESULT onchange([in] VARIANT v);
8210
8211     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
8212     HRESULT onchange([retval, out] VARIANT *p);
8213
8214     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8215     HRESULT onselect([in] VARIANT v);
8216
8217     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
8218     HRESULT onselect([retval, out] VARIANT *p);
8219
8220     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8221     HRESULT defaultValue([in] BSTR v);
8222
8223     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8224     HRESULT defaultValue([retval, out] BSTR *p);
8225
8226     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8227     HRESULT readOnly([in] VARIANT_BOOL v);
8228
8229     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
8230     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8231
8232     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
8233     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8234
8235     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8236     HRESULT indeterminate([in] VARIANT_BOOL v);
8237
8238     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
8239     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
8240
8241     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8242     HRESULT defaultChecked([in] VARIANT_BOOL v);
8243
8244     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
8245     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
8246
8247     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8248     HRESULT checked([in] VARIANT_BOOL v);
8249
8250     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
8251     HRESULT checked([retval, out] VARIANT_BOOL *p);
8252
8253     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8254     HRESULT border([in] VARIANT v);
8255
8256     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
8257     HRESULT border([retval, out] VARIANT *p);
8258
8259     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8260     HRESULT vspace([in] long v);
8261
8262     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
8263     HRESULT vspace([retval, out] long *p);
8264
8265     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8266     HRESULT hspace([in] long v);
8267
8268     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
8269     HRESULT hspace([retval, out] long *p);
8270
8271     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8272     HRESULT alt([in] BSTR v);
8273
8274     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
8275     HRESULT alt([retval, out] BSTR *p);
8276
8277     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8278     HRESULT src([in] BSTR v);
8279
8280     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
8281     HRESULT src([retval, out] BSTR *p);
8282
8283     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8284     HRESULT lowsrc([in] BSTR v);
8285
8286     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
8287     HRESULT lowsrc([retval, out] BSTR *p);
8288
8289     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8290     HRESULT vrml([in] BSTR v);
8291
8292     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
8293     HRESULT vrml([retval, out] BSTR *p);
8294
8295     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8296     HRESULT dynsrc([in] BSTR v);
8297
8298     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
8299     HRESULT dynsrc([retval, out] BSTR *p);
8300
8301     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
8302     HRESULT readyState([retval, out] BSTR *p);
8303
8304     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
8305     HRESULT complete([retval, out] VARIANT_BOOL *p);
8306
8307     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8308     HRESULT loop([in] VARIANT v);
8309
8310     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
8311     HRESULT loop([retval, out] VARIANT *p);
8312
8313     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8314     HRESULT align([in] BSTR v);
8315
8316     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
8317     HRESULT align([retval, out] BSTR *p);
8318
8319     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8320     HRESULT onload([in] VARIANT v);
8321
8322     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
8323     HRESULT onload([retval, out] VARIANT *p);
8324
8325     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8326     HRESULT onerror([in] VARIANT v);
8327
8328     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
8329     HRESULT onerror([retval, out] VARIANT *p);
8330
8331     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8332     HRESULT onabort([in] VARIANT v);
8333
8334     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
8335     HRESULT onabort([retval, out] VARIANT *p);
8336
8337     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8338     HRESULT width([in] long v);
8339
8340     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
8341     HRESULT width([retval, out] long *p);
8342
8343     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8344     HRESULT height([in] long v);
8345
8346     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
8347     HRESULT height([retval, out] long *p);
8348
8349     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8350     HRESULT start([in] BSTR v);
8351
8352     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
8353     HRESULT start([retval, out] BSTR *p);
8354 }
8355
8356 /*****************************************************************************
8357  *    IHTMLInputTextElement interface
8358  */
8359 [
8360     odl,
8361     oleautomation,
8362     dual,
8363     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
8364 ]
8365 interface IHTMLInputTextElement : IDispatch
8366 {
8367     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
8368     HRESULT type([retval, out] BSTR *p);
8369
8370     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8371     HRESULT value([in] BSTR v);
8372
8373     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
8374     HRESULT value([retval, out] BSTR *p);
8375
8376     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8377     HRESULT name([in] BSTR v);
8378
8379     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
8380     HRESULT name([retval, out] BSTR *p);
8381
8382     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8383     HRESULT status([in] VARIANT v);
8384
8385     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
8386     HRESULT status([retval, out] VARIANT *p);
8387
8388     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8389     HRESULT disabled([in] VARIANT_BOOL v);
8390
8391     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
8392     HRESULT disabled([retval, out] VARIANT_BOOL *p);
8393
8394     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
8395     HRESULT form([retval, out] IHTMLFormElement **p);
8396
8397     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8398     HRESULT defaultValue([in] BSTR v);
8399
8400     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
8401     HRESULT defaultValue([retval, out] BSTR *p);
8402
8403     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8404     HRESULT size([in] long v);
8405
8406     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
8407     HRESULT size([retval, out] long *p);
8408
8409     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8410     HRESULT maxLength([in] long v);
8411
8412     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
8413     HRESULT maxLength([retval, out] long *p);
8414
8415     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
8416     HRESULT select();
8417
8418     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8419     HRESULT onchange([in] VARIANT v);
8420
8421     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
8422     HRESULT onchange([retval, out] VARIANT *p);
8423
8424     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8425     HRESULT onselect([in] VARIANT v);
8426
8427     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
8428     HRESULT onselect([retval, out] VARIANT *p);
8429
8430     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8431     HRESULT readOnly([in] VARIANT_BOOL v);
8432
8433     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
8434     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
8435
8436     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
8437     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
8438 }
8439
8440 [
8441     hidden,
8442     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
8443 ]
8444 dispinterface DispHTMLInputElement
8445 {
8446 properties:
8447 methods:
8448     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
8449     void setAttribute(
8450             [in] BSTR strAttributeName,
8451             [in] VARIANT AttributeValue,
8452             [in, defaultvalue(1)] LONG lFlags);
8453
8454     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
8455     VARIANT getAttribute(
8456              [in] BSTR strAttributeName,
8457              [in, defaultvalue(0)] LONG lFlags);
8458
8459     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
8460     VARIANT_BOOL removeAttribute(
8461             [in] BSTR strAttributeName,
8462             [in, defaultvalue(1)] LONG lFlags);
8463
8464     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8465     void className(BSTR v);
8466
8467     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
8468     BSTR className();
8469
8470     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
8471     void id(BSTR v);
8472
8473     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
8474     BSTR id();
8475
8476     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
8477     BSTR tagName();
8478
8479     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
8480     IHTMLElement *parentElement();
8481
8482     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
8483     IHTMLStyle *style();
8484
8485     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8486     void onhelp(VARIANT v);
8487
8488     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
8489     VARIANT onhelp();
8490
8491     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8492     void onclick(VARIANT v);
8493
8494     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
8495     VARIANT onclick();
8496
8497     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8498     void ondblclick(VARIANT v);
8499
8500     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
8501     VARIANT ondblclick();
8502
8503     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8504     void onkeydown(VARIANT v);
8505
8506     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
8507     VARIANT onkeydown();
8508
8509     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8510     void onkeyup(VARIANT v);
8511
8512     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
8513     VARIANT onkeyup();
8514
8515     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8516     void onkeypress(VARIANT v);
8517
8518     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
8519     VARIANT onkeypress();
8520
8521     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8522     void onmouseout(VARIANT v);
8523
8524     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
8525     VARIANT onmouseout();
8526
8527     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8528     void onmouseover(VARIANT v);
8529
8530     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
8531     VARIANT onmouseover();
8532
8533     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8534     void onmousemove(VARIANT v);
8535
8536     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
8537     VARIANT onmousemove();
8538
8539     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8540     void onmousedown(VARIANT v);
8541
8542     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
8543     VARIANT onmousedown();
8544
8545     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8546     void onmouseup(VARIANT v);
8547
8548     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
8549     VARIANT onmouseup();
8550
8551     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
8552     IDispatch *document();
8553
8554     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8555     void title(BSTR v);
8556
8557     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
8558     BSTR title();
8559
8560     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8561     void language(BSTR v);
8562
8563     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
8564     BSTR language();
8565
8566     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8567     void onselectstart(VARIANT v);
8568
8569     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
8570     VARIANT onselectstart();
8571
8572     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
8573     void scrollIntoView([in, optional] VARIANT varargStart);
8574
8575     [id(DISPID_IHTMLELEMENT_CONTAINS)]
8576     VARIANT_BOOL contains([in] IHTMLElement *pChild);
8577
8578     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
8579     long sourceIndex();
8580
8581     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
8582     VARIANT recordNumber();
8583
8584     [propput, id(DISPID_IHTMLELEMENT_LANG)]
8585     void lang(BSTR v);
8586
8587     [propget, id(DISPID_IHTMLELEMENT_LANG)]
8588     BSTR lang();
8589
8590     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
8591     long offsetLeft();
8592
8593     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
8594     long offsetTop();
8595
8596     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
8597     long offsetWidth();
8598
8599     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
8600     long offsetHeight();
8601
8602     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
8603     IHTMLElement *offsetParent();
8604
8605     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
8606     void innerHTML(BSTR v);
8607
8608     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
8609     BSTR innerHTML();
8610
8611     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8612     void innerText(BSTR v);
8613
8614     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
8615     BSTR innerText();
8616
8617     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8618     void outerHTML(BSTR v);
8619
8620     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
8621     BSTR outerHTML();
8622
8623     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8624     void outerText(BSTR v);
8625
8626     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
8627     BSTR outerText();
8628
8629     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
8630     void insertAdjacentHTML(
8631             [in] BSTR where,
8632             [in] BSTR html);
8633
8634     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
8635     void insertAdjacentText(
8636             [in] BSTR where,
8637             [in] BSTR text);
8638
8639     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
8640     IHTMLElement *parentTextEdit();
8641
8642     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
8643     VARIANT_BOOL isTextEdit();
8644
8645     [id(DISPID_IHTMLELEMENT_CLICK)]
8646     void click();
8647
8648     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
8649     IHTMLFiltersCollection *filters();
8650
8651     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8652     void ondragstart(VARIANT v);
8653
8654     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
8655     VARIANT ondragstart();
8656
8657     [id(DISPID_IHTMLELEMENT_TOSTRING)]
8658     BSTR toString();
8659
8660     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8661     void onbeforeupdate(VARIANT v);
8662
8663     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
8664     VARIANT onbeforeupdate();
8665
8666     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8667     void onafterupdate(VARIANT v);
8668
8669     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
8670     VARIANT onafterupdate();
8671
8672     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8673     void onerrorupdate(VARIANT v);
8674
8675     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
8676     VARIANT onerrorupdate();
8677
8678     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8679     void onrowexit(VARIANT v);
8680
8681     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
8682     VARIANT onrowexit();
8683
8684     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8685     void onrowenter(VARIANT v);
8686
8687     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
8688     VARIANT onrowenter();
8689
8690     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8691     void ondatasetchanged(VARIANT v);
8692
8693     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
8694     VARIANT ondatasetchanged();
8695
8696     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8697     void ondataavailable(VARIANT v);
8698
8699     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
8700     VARIANT ondataavailable();
8701
8702     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8703     void ondatasetcomplete(VARIANT v);
8704
8705     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
8706     VARIANT ondatasetcomplete();
8707
8708     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8709     void onfilterchange(VARIANT v);
8710
8711     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
8712     VARIANT onfilterchange();
8713
8714     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
8715     IDispatch *children();
8716
8717     [propget, id(DISPID_IHTMLELEMENT_ALL)]
8718     IDispatch *all();
8719
8720     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
8721     BSTR scopeName();
8722
8723     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
8724     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
8725
8726     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
8727     void releaseCapture();
8728
8729     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8730     void onlosecapture(VARIANT v);
8731
8732     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
8733     VARIANT onlosecapture();
8734
8735     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
8736     BSTR componentFromPoint(
8737             [in] long x,
8738             [in] long y);
8739
8740     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
8741     void doScroll([in, optional] VARIANT component);
8742
8743     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8744     void onscroll(VARIANT v);
8745
8746     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
8747     VARIANT onscroll();
8748
8749     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8750     void ondrag(VARIANT v);
8751
8752     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
8753     VARIANT ondrag();
8754
8755     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8756     void ondragend(VARIANT v);
8757
8758     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
8759     VARIANT ondragend();
8760
8761     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8762     void ondragenter(VARIANT v);
8763
8764     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
8765     VARIANT ondragenter();
8766
8767     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8768     void ondragover(VARIANT v);
8769
8770     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
8771     VARIANT ondragover();
8772
8773     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8774     void ondragleave(VARIANT v);
8775
8776     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
8777     VARIANT ondragleave();
8778
8779     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8780     void ondrop(VARIANT v);
8781
8782     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
8783     VARIANT ondrop();
8784
8785     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8786     void onbeforecut(VARIANT v);
8787
8788     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
8789     VARIANT onbeforecut();
8790
8791     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8792     void oncut(VARIANT v);
8793
8794     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
8795     VARIANT oncut();
8796
8797     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8798     void onbeforecopy(VARIANT v);
8799
8800     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
8801     VARIANT onbeforecopy();
8802
8803     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8804     void oncopy(VARIANT v);
8805
8806     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
8807     VARIANT oncopy();
8808
8809     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8810     void onbeforepaste(VARIANT v);
8811
8812     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
8813     VARIANT onbeforepaste();
8814
8815     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8816     void onpaste(VARIANT v);
8817
8818     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
8819     VARIANT onpaste();
8820
8821     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
8822     IHTMLCurrentStyle *currentStyle();
8823
8824     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8825     void onpropertychange(VARIANT v);
8826
8827     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
8828     VARIANT onpropertychange();
8829
8830     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
8831     IHTMLRectCollection *getClientRects();
8832
8833     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
8834     IHTMLRect *getBoundingClientRect();
8835
8836     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
8837     void setExpression(
8838             [in] BSTR propname,
8839             [in] BSTR expression,
8840             [in, defaultvalue("")] BSTR language);
8841
8842     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
8843     VARIANT getExpression([in] BSTR propname);
8844
8845     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
8846     VARIANT_BOOL removeExpression([in] BSTR propname);
8847
8848     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8849     void tabIndex(short v);
8850
8851     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
8852     short tabIndex();
8853
8854     [id(DISPID_IHTMLELEMENT2_FOCUS)]
8855     void focus();
8856
8857     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8858     void accessKey(BSTR v);
8859
8860     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
8861     BSTR accessKey();
8862
8863     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8864     void onblur(VARIANT v);
8865
8866     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
8867     VARIANT onblur();
8868
8869     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8870     void onfocus(VARIANT v);
8871
8872     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
8873     VARIANT onfocus();
8874
8875     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8876     void onresize(VARIANT v);
8877
8878     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
8879     VARIANT onresize();
8880
8881     [id(DISPID_IHTMLELEMENT2_BLUR)]
8882     void blur();
8883
8884     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
8885     void addFilter([in] IUnknown *pUnk);
8886
8887     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
8888     void removeFilter([in] IUnknown *pUnk);
8889
8890     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
8891     long clientHeight();
8892
8893     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
8894     long clientWidth();
8895
8896     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
8897     long clientTop();
8898
8899     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
8900     long clientLeft();
8901
8902     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
8903     VARIANT_BOOL attachEvent(
8904             [in] BSTR event,
8905             [in] IDispatch *pDisp);
8906
8907     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
8908     void detachEvent(
8909             [in] BSTR event,
8910             [in] IDispatch *pDisp);
8911
8912     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
8913     VARIANT readyState();
8914
8915     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8916     void onreadystatechange(VARIANT v);
8917
8918     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8919     VARIANT onreadystatechange();
8920
8921     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8922     void onrowsdelete(VARIANT v);
8923
8924     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
8925     VARIANT onrowsdelete();
8926
8927     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8928     void onrowsinserted(VARIANT v);
8929
8930     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
8931      VARIANT onrowsinserted();
8932
8933     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8934      void oncellchange(VARIANT v);
8935
8936     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
8937     VARIANT oncellchange();
8938
8939     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8940     void dir(BSTR v);
8941
8942     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
8943     BSTR dir();
8944
8945     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
8946     IDispatch *createControlRange();
8947
8948     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
8949     long scrollHeight();
8950
8951     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
8952     long scrollWidth();
8953
8954     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8955     void scrollTop(long v);
8956
8957     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
8958     long scrollTop();
8959
8960     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8961     void scrollLeft(long v);
8962
8963     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
8964     long scrollLeft();
8965
8966     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
8967     void clearAttributes();
8968
8969     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8970     void oncontextmenu(VARIANT v);
8971
8972     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
8973     VARIANT oncontextmenu();
8974
8975     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
8976     IHTMLElement *insertAdjacentElement(
8977             [in] BSTR where,
8978             [in] IHTMLElement *insertedElement);
8979
8980     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
8981     IHTMLElement *applyElement(
8982             [in] IHTMLElement *apply,
8983             [in] BSTR where);
8984
8985     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
8986     BSTR getAdjacentText([in] BSTR where);
8987
8988     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
8989     BSTR replaceAdjacentText(
8990             [in] BSTR where,
8991             [in] BSTR newText);
8992
8993     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
8994     VARIANT_BOOL canHaveChildren();
8995
8996     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
8997     long addBehavior(
8998             [in] BSTR bstrUrl,
8999             [in, optional] VARIANT *pvarFactory);
9000
9001     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
9002     VARIANT_BOOL removeBehavior([in] long cookie);
9003
9004     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
9005     IHTMLStyle *runtimeStyle();
9006
9007     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
9008     IDispatch *behaviorUrns();
9009
9010     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
9011     void tagUrn(BSTR v);
9012
9013     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
9014     BSTR tagUrn();
9015
9016     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9017     void onbeforeeditfocus(VARIANT v);
9018
9019     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
9020     VARIANT onbeforeeditfocus();
9021
9022     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
9023     long readyStateValue();
9024
9025     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
9026     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
9027
9028     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
9029     void mergeAttributes(
9030             [in] IHTMLElement *mergeThis,
9031             [in, optional] VARIANT *pvarFlags);
9032
9033     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
9034     VARIANT_BOOL isMultiLine();
9035
9036     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
9037     VARIANT_BOOL canHaveHTML();
9038
9039     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9040     void onlayoutcomplete(VARIANT v);
9041
9042     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
9043     VARIANT onlayoutcomplete();
9044
9045     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9046     void onpage(VARIANT v);
9047
9048     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
9049     VARIANT onpage();
9050
9051     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9052     void inflateBlock(VARIANT_BOOL v);
9053
9054     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
9055     VARIANT_BOOL inflateBlock();
9056
9057     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9058     void onbeforedeactivate(VARIANT v);
9059
9060     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
9061     VARIANT onbeforedeactivate();
9062
9063     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
9064     void setActive();
9065
9066     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9067     void contentEditable(BSTR v);
9068
9069     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
9070     BSTR contentEditable();
9071
9072     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
9073     VARIANT_BOOL isContentEditable();
9074
9075     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9076     void hideFocus(VARIANT_BOOL v);
9077
9078     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
9079     VARIANT_BOOL hideFocus();
9080
9081     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9082     void disabled(VARIANT_BOOL v);
9083
9084     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
9085     VARIANT_BOOL disabled();
9086
9087     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
9088     VARIANT_BOOL isDisabled();
9089
9090     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9091     void onmove(VARIANT v);
9092
9093     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
9094     VARIANT onmove();
9095
9096     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9097     void oncontrolselect(VARIANT v);
9098
9099     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
9100     VARIANT oncontrolselect();
9101
9102     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
9103     VARIANT_BOOL fireEvent(
9104             [in] BSTR bstrEventName,
9105             [in, optional] VARIANT *pvarEventObject);
9106
9107     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9108     void onresizestart(VARIANT v);
9109
9110     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
9111     VARIANT onresizestart();
9112
9113     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9114     void onresizeend(VARIANT v);
9115
9116     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
9117     VARIANT onresizeend();
9118
9119     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9120     void onmovestart(VARIANT v);
9121
9122     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
9123     VARIANT onmovestart();
9124
9125     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9126     void onmoveend(VARIANT v);
9127
9128     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
9129     VARIANT onmoveend();
9130
9131     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9132     void onmouseenter(VARIANT v);
9133
9134     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
9135     VARIANT onmouseenter();
9136
9137     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9138     void onmouseleave(VARIANT v);
9139
9140     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
9141     VARIANT onmouseleave();
9142
9143     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9144     void onactivate(VARIANT v);
9145
9146     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
9147     VARIANT onactivate();
9148
9149     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9150     void ondeactivate(VARIANT v);
9151
9152     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
9153     VARIANT ondeactivate();
9154
9155     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
9156     VARIANT_BOOL dragDrop();
9157
9158     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
9159     LONG glyphMode();
9160
9161     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9162     void onmousewheel(VARIANT v);
9163
9164     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
9165     VARIANT onmousewheel();
9166
9167     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
9168     void normalize();
9169
9170     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
9171     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
9172
9173     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
9174     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
9175
9176     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
9177     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
9178
9179     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9180     void onbeforeactivate(VARIANT v);
9181
9182     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
9183     VARIANT onbeforeactivate();
9184
9185     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9186     void onfocusin(VARIANT v);
9187
9188     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
9189     VARIANT onfocusin();
9190
9191     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9192     void onfocusout(VARIANT v);
9193
9194     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
9195     VARIANT onfocusout();
9196
9197     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
9198     long uniqueNumber();
9199
9200     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
9201     BSTR uniqueID();
9202
9203     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
9204     long nodeType();
9205
9206     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
9207     IHTMLDOMNode *parentNode();
9208
9209     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
9210     VARIANT_BOOL hasChildNodes();
9211
9212     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
9213     IDispatch *childNodes();
9214
9215     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
9216     IDispatch *attributes();
9217
9218     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
9219     IHTMLDOMNode *insertBefore(
9220             [in] IHTMLDOMNode *newChild,
9221             [in, optional] VARIANT refChild);
9222
9223     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
9224     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
9225
9226     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
9227     IHTMLDOMNode *replaceChild(
9228             [in] IHTMLDOMNode *newChild,
9229             [in] IHTMLDOMNode *oldChild);
9230
9231     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
9232     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
9233
9234     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
9235     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
9236
9237     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
9238     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
9239
9240     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
9241     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
9242
9243     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
9244     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
9245
9246     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
9247     BSTR nodeName();
9248
9249     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9250     void nodeValue(VARIANT v);
9251
9252     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
9253     VARIANT nodeValue();
9254
9255     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
9256     IHTMLDOMNode *firstChild();
9257
9258     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
9259     IHTMLDOMNode *lastChild();
9260
9261     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
9262     IHTMLDOMNode *previousSibling();
9263
9264     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
9265     IHTMLDOMNode *nextSibling();
9266
9267     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
9268     IDispatch *ownerDocument();
9269
9270     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9271     void dataFld(BSTR v);
9272
9273     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
9274     BSTR dataFld();
9275
9276     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
9277     void dataSrc(BSTR v);
9278
9279     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
9280     BSTR dataSrc();
9281
9282     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9283     void dataFormatAs(BSTR v);
9284
9285     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
9286     BSTR dataFormatAs();
9287
9288     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9289     void type(BSTR v);
9290
9291     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
9292     BSTR type();
9293
9294     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9295     void value(BSTR v);
9296
9297     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
9298     BSTR value();
9299
9300     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9301     void name(BSTR v);
9302
9303     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
9304     BSTR name();
9305
9306     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9307     void status(VARIANT_BOOL v);
9308
9309     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
9310     VARIANT_BOOL status();
9311
9312     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
9313     IHTMLFormElement *form();
9314
9315     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9316     void size(long v);
9317
9318     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
9319     long size();
9320
9321     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9322     void maxLength(long v);
9323
9324     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
9325     long maxLength();
9326
9327     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
9328     void select();
9329
9330     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9331     void onchange(VARIANT v);
9332
9333     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
9334     VARIANT onchange();
9335
9336     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9337     void onselect(VARIANT v);
9338
9339     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
9340     VARIANT onselect();
9341
9342     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9343     void defaultValue(BSTR v);
9344
9345     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9346     BSTR defaultValue();
9347
9348     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9349     void readOnly(VARIANT_BOOL v);
9350
9351     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
9352     VARIANT_BOOL readOnly();
9353
9354     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
9355     IHTMLTxtRange *createTextRange();
9356
9357     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9358     void indeterminate(VARIANT_BOOL v);
9359
9360     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
9361     VARIANT_BOOL indeterminate();
9362
9363     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9364     void defaultChecked(VARIANT_BOOL v);
9365
9366     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
9367     VARIANT_BOOL defaultChecked();
9368
9369     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9370     void checked(VARIANT_BOOL v);
9371
9372     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
9373     VARIANT_BOOL checked();
9374
9375     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9376     void border(VARIANT v);
9377
9378     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
9379     VARIANT border();
9380
9381     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9382     void vspace(long v);
9383
9384     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
9385     long vspace();
9386
9387     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9388     void hspace(long v);
9389
9390     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
9391     long hspace();
9392
9393     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9394     void alt(BSTR v);
9395
9396     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
9397     BSTR alt();
9398
9399     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9400     void src(BSTR v);
9401
9402     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
9403     BSTR src();
9404
9405     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9406     void lowsrc(BSTR v);
9407
9408     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
9409     BSTR lowsrc();
9410
9411     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9412     void vrml(BSTR v);
9413
9414     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
9415     BSTR vrml();
9416
9417     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9418     void dynsrc(BSTR v);
9419
9420     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
9421     BSTR dynsrc();
9422
9423     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
9424     VARIANT_BOOL complete();
9425
9426     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9427     void loop(VARIANT v);
9428
9429     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
9430     VARIANT loop();
9431
9432     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9433     void align(BSTR v);
9434
9435     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
9436     BSTR align();
9437
9438     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9439     void onload(VARIANT v);
9440
9441     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
9442     VARIANT onload();
9443
9444     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9445     void onerror(VARIANT v);
9446
9447     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
9448     VARIANT onerror();
9449
9450     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9451     void onabort(VARIANT v);
9452
9453     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
9454     VARIANT onabort();
9455
9456     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9457     void width(long v);
9458
9459     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
9460     long width();
9461
9462     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9463     void height(long v);
9464
9465     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
9466     long height();
9467
9468     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9469     void start(BSTR v);
9470
9471     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
9472     BSTR start();
9473
9474     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9475     void accept(BSTR v);
9476
9477     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
9478     BSTR accept();
9479
9480     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9481     void useMap(BSTR v);
9482
9483     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
9484     BSTR useMap();
9485 }
9486
9487 /*****************************************************************************
9488  *    IHTMLTextAreaElement interface
9489  */
9490 [
9491     odl,
9492     oleautomation,
9493     dual,
9494     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
9495 ]
9496 interface IHTMLTextAreaElement : IDispatch
9497 {
9498     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
9499     HRESULT type([retval, out] BSTR *p);
9500
9501     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9502     HRESULT value([in] BSTR v);
9503
9504     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
9505     HRESULT value([retval, out] BSTR *p);
9506
9507     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9508     HRESULT name([in] BSTR v);
9509
9510     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
9511     HRESULT name([retval, out] BSTR *p);
9512
9513     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9514     HRESULT status([in] VARIANT v);
9515
9516     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
9517     HRESULT status([retval, out] VARIANT *p);
9518
9519     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9520     HRESULT disabled([in] VARIANT_BOOL v);
9521
9522     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
9523     HRESULT disabled([retval, out] VARIANT_BOOL *p);
9524
9525     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
9526     HRESULT form([retval, out] IHTMLFormElement **p);
9527
9528     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9529     HRESULT defaultValue([in] BSTR v);
9530
9531     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
9532     HRESULT defaultValue([retval, out] BSTR *p);
9533
9534     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
9535     HRESULT select();
9536
9537     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9538     HRESULT onchange([in] VARIANT v);
9539
9540     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
9541     HRESULT onchange([retval, out] VARIANT *p);
9542
9543     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9544     HRESULT onselect([in] VARIANT v);
9545
9546     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
9547     HRESULT onselect([retval, out] VARIANT *p);
9548
9549     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9550     HRESULT readOnly([in] VARIANT_BOOL v);
9551
9552     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
9553     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
9554
9555     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9556     HRESULT rows([in] long v);
9557
9558     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
9559     HRESULT rows([retval, out] long *p);
9560
9561     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9562     HRESULT cols([in] long v);
9563
9564     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
9565     HRESULT cols([retval, out] long *p);
9566
9567     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9568     HRESULT wrap([in] BSTR v);
9569
9570     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
9571     HRESULT wrap([retval, out] BSTR *p);
9572
9573     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
9574     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
9575 }
9576
9577 /*****************************************************************************
9578  *    DispHTMLUnknownElement interface
9579  */
9580 [
9581     hidden,
9582     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
9583 ]
9584 dispinterface DispHTMLUnknownElement
9585 {
9586 properties:
9587 methods:
9588     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
9589     void setAttribute(
9590             [in] BSTR strAttributeName,
9591             [in] VARIANT AttributeValue,
9592             [in, defaultvalue(1)] LONG lFlags);
9593
9594     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
9595     VARIANT getAttribute(
9596              [in] BSTR strAttributeName,
9597              [in, defaultvalue(0)] LONG lFlags);
9598
9599     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
9600     VARIANT_BOOL removeAttribute(
9601             [in] BSTR strAttributeName,
9602             [in, defaultvalue(1)] LONG lFlags);
9603
9604     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9605     void className(BSTR v);
9606
9607     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
9608     BSTR className();
9609
9610     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
9611     void id(BSTR v);
9612
9613     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
9614     BSTR id();
9615
9616     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
9617     BSTR tagName();
9618
9619     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
9620     IHTMLElement *parentElement();
9621
9622     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
9623     IHTMLStyle *style();
9624
9625     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9626     void onhelp(VARIANT v);
9627
9628     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
9629     VARIANT onhelp();
9630
9631     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9632     void onclick(VARIANT v);
9633
9634     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
9635     VARIANT onclick();
9636
9637     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9638     void ondblclick(VARIANT v);
9639
9640     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
9641     VARIANT ondblclick();
9642
9643     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9644     void onkeydown(VARIANT v);
9645
9646     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
9647     VARIANT onkeydown();
9648
9649     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9650     void onkeyup(VARIANT v);
9651
9652     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
9653     VARIANT onkeyup();
9654
9655     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9656     void onkeypress(VARIANT v);
9657
9658     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
9659     VARIANT onkeypress();
9660
9661     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9662     void onmouseout(VARIANT v);
9663
9664     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
9665     VARIANT onmouseout();
9666
9667     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9668     void onmouseover(VARIANT v);
9669
9670     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
9671     VARIANT onmouseover();
9672
9673     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9674     void onmousemove(VARIANT v);
9675
9676     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
9677     VARIANT onmousemove();
9678
9679     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9680     void onmousedown(VARIANT v);
9681
9682     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
9683     VARIANT onmousedown();
9684
9685     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9686     void onmouseup(VARIANT v);
9687
9688     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
9689     VARIANT onmouseup();
9690
9691     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
9692     IDispatch *document();
9693
9694     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9695     void title(BSTR v);
9696
9697     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
9698     BSTR title();
9699
9700     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9701     void language(BSTR v);
9702
9703     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
9704     BSTR language();
9705
9706     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9707     void onselectstart(VARIANT v);
9708
9709     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
9710     VARIANT onselectstart();
9711
9712     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
9713     void scrollIntoView([in, optional] VARIANT varargStart);
9714
9715     [id(DISPID_IHTMLELEMENT_CONTAINS)]
9716     VARIANT_BOOL contains([in] IHTMLElement *pChild);
9717
9718     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
9719     long sourceIndex();
9720
9721     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
9722     VARIANT recordNumber();
9723
9724     [propput, id(DISPID_IHTMLELEMENT_LANG)]
9725     void lang(BSTR v);
9726
9727     [propget, id(DISPID_IHTMLELEMENT_LANG)]
9728     BSTR lang();
9729
9730     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
9731     long offsetLeft();
9732
9733     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
9734     long offsetTop();
9735
9736     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
9737     long offsetWidth();
9738
9739     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
9740     long offsetHeight();
9741
9742     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
9743     IHTMLElement *offsetParent();
9744
9745     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
9746     void innerHTML(BSTR v);
9747
9748     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
9749     BSTR innerHTML();
9750
9751     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9752     void innerText(BSTR v);
9753
9754     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
9755     BSTR innerText();
9756
9757     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9758     void outerHTML(BSTR v);
9759
9760     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
9761     BSTR outerHTML();
9762
9763     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9764     void outerText(BSTR v);
9765
9766     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
9767     BSTR outerText();
9768
9769     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
9770     void insertAdjacentHTML(
9771             [in] BSTR where,
9772             [in] BSTR html);
9773
9774     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
9775     void insertAdjacentText(
9776             [in] BSTR where,
9777             [in] BSTR text);
9778
9779     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
9780     IHTMLElement *parentTextEdit();
9781
9782     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
9783     VARIANT_BOOL isTextEdit();
9784
9785     [id(DISPID_IHTMLELEMENT_CLICK)]
9786     void click();
9787
9788     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
9789     IHTMLFiltersCollection *filters();
9790
9791     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9792     void ondragstart(VARIANT v);
9793
9794     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
9795     VARIANT ondragstart();
9796
9797     [id(DISPID_IHTMLELEMENT_TOSTRING)]
9798     BSTR toString();
9799
9800     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9801     void onbeforeupdate(VARIANT v);
9802
9803     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
9804     VARIANT onbeforeupdate();
9805
9806     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9807     void onafterupdate(VARIANT v);
9808
9809     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
9810     VARIANT onafterupdate();
9811
9812     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9813     void onerrorupdate(VARIANT v);
9814
9815     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
9816     VARIANT onerrorupdate();
9817
9818     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9819     void onrowexit(VARIANT v);
9820
9821     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
9822     VARIANT onrowexit();
9823
9824     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9825     void onrowenter(VARIANT v);
9826
9827     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
9828     VARIANT onrowenter();
9829
9830     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9831     void ondatasetchanged(VARIANT v);
9832
9833     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
9834     VARIANT ondatasetchanged();
9835
9836     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9837     void ondataavailable(VARIANT v);
9838
9839     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
9840     VARIANT ondataavailable();
9841
9842     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9843     void ondatasetcomplete(VARIANT v);
9844
9845     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
9846     VARIANT ondatasetcomplete();
9847
9848     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9849     void onfilterchange(VARIANT v);
9850
9851     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
9852     VARIANT onfilterchange();
9853
9854     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
9855     IDispatch *children();
9856
9857     [propget, id(DISPID_IHTMLELEMENT_ALL)]
9858     IDispatch *all();
9859
9860     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
9861     BSTR scopeName();
9862
9863     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
9864     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
9865
9866     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
9867     void releaseCapture();
9868
9869     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9870     void onlosecapture(VARIANT v);
9871
9872     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
9873     VARIANT onlosecapture();
9874
9875     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
9876     BSTR componentFromPoint(
9877             [in] long x,
9878             [in] long y);
9879
9880     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
9881     void doScroll([in, optional] VARIANT component);
9882
9883     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9884     void onscroll(VARIANT v);
9885
9886     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
9887     VARIANT onscroll();
9888
9889     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9890     void ondrag(VARIANT v);
9891
9892     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
9893     VARIANT ondrag();
9894
9895     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9896     void ondragend(VARIANT v);
9897
9898     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
9899     VARIANT ondragend();
9900
9901     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9902     void ondragenter(VARIANT v);
9903
9904     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
9905     VARIANT ondragenter();
9906
9907     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9908     void ondragover(VARIANT v);
9909
9910     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
9911     VARIANT ondragover();
9912
9913     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9914     void ondragleave(VARIANT v);
9915
9916     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
9917     VARIANT ondragleave();
9918
9919     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9920     void ondrop(VARIANT v);
9921
9922     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
9923     VARIANT ondrop();
9924
9925     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9926     void onbeforecut(VARIANT v);
9927
9928     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
9929     VARIANT onbeforecut();
9930
9931     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9932     void oncut(VARIANT v);
9933
9934     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
9935     VARIANT oncut();
9936
9937     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9938     void onbeforecopy(VARIANT v);
9939
9940     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
9941     VARIANT onbeforecopy();
9942
9943     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9944     void oncopy(VARIANT v);
9945
9946     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
9947     VARIANT oncopy();
9948
9949     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9950     void onbeforepaste(VARIANT v);
9951
9952     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
9953     VARIANT onbeforepaste();
9954
9955     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9956     void onpaste(VARIANT v);
9957
9958     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
9959     VARIANT onpaste();
9960
9961     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
9962     IHTMLCurrentStyle *currentStyle();
9963
9964     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9965     void onpropertychange(VARIANT v);
9966
9967     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
9968     VARIANT onpropertychange();
9969
9970     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
9971     IHTMLRectCollection *getClientRects();
9972
9973     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
9974     IHTMLRect *getBoundingClientRect();
9975
9976     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
9977     void setExpression(
9978             [in] BSTR propname,
9979             [in] BSTR expression,
9980             [in, defaultvalue("")] BSTR language);
9981
9982     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
9983     VARIANT getExpression([in] BSTR propname);
9984
9985     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
9986     VARIANT_BOOL removeExpression([in] BSTR propname);
9987
9988     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9989     void tabIndex(short v);
9990
9991     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
9992     short tabIndex();
9993
9994     [id(DISPID_IHTMLELEMENT2_FOCUS)]
9995     void focus();
9996
9997     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
9998     void accessKey(BSTR v);
9999
10000     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
10001     BSTR accessKey();
10002
10003     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10004     void onblur(VARIANT v);
10005
10006     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
10007     VARIANT onblur();
10008
10009     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10010     void onfocus(VARIANT v);
10011
10012     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
10013     VARIANT onfocus();
10014
10015     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10016     void onresize(VARIANT v);
10017
10018     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
10019     VARIANT onresize();
10020
10021     [id(DISPID_IHTMLELEMENT2_BLUR)]
10022     void blur();
10023
10024     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
10025     void addFilter([in] IUnknown *pUnk);
10026
10027     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
10028     void removeFilter([in] IUnknown *pUnk);
10029
10030     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
10031     long clientHeight();
10032
10033     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
10034     long clientWidth();
10035
10036     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
10037     long clientTop();
10038
10039     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
10040     long clientLeft();
10041
10042     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
10043     VARIANT_BOOL attachEvent(
10044             [in] BSTR event,
10045             [in] IDispatch *pDisp);
10046
10047     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
10048     void detachEvent(
10049             [in] BSTR event,
10050             [in] IDispatch *pDisp);
10051
10052     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
10053     VARIANT readyState();
10054
10055     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10056     void onreadystatechange(VARIANT v);
10057
10058     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
10059     VARIANT onreadystatechange();
10060
10061     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10062     void onrowsdelete(VARIANT v);
10063
10064     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
10065     VARIANT onrowsdelete();
10066
10067     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10068     void onrowsinserted(VARIANT v);
10069
10070     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
10071      VARIANT onrowsinserted();
10072
10073     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10074      void oncellchange(VARIANT v);
10075
10076     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
10077     VARIANT oncellchange();
10078
10079     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10080     void dir(BSTR v);
10081
10082     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
10083     BSTR dir();
10084
10085     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
10086     IDispatch *createControlRange();
10087
10088     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
10089     long scrollHeight();
10090
10091     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
10092     long scrollWidth();
10093
10094     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10095     void scrollTop(long v);
10096
10097     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
10098     long scrollTop();
10099
10100     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10101     void scrollLeft(long v);
10102
10103     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
10104     long scrollLeft();
10105
10106     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
10107     void clearAttributes();
10108
10109     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10110     void oncontextmenu(VARIANT v);
10111
10112     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
10113     VARIANT oncontextmenu();
10114
10115     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
10116     IHTMLElement *insertAdjacentElement(
10117             [in] BSTR where,
10118             [in] IHTMLElement *insertedElement);
10119
10120     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
10121     IHTMLElement *applyElement(
10122             [in] IHTMLElement *apply,
10123             [in] BSTR where);
10124
10125     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
10126     BSTR getAdjacentText([in] BSTR where);
10127
10128     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
10129     BSTR replaceAdjacentText(
10130             [in] BSTR where,
10131             [in] BSTR newText);
10132
10133     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
10134     VARIANT_BOOL canHaveChildren();
10135
10136     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
10137     long addBehavior(
10138             [in] BSTR bstrUrl,
10139             [in, optional] VARIANT *pvarFactory);
10140
10141     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
10142     VARIANT_BOOL removeBehavior([in] long cookie);
10143
10144     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
10145     IHTMLStyle *runtimeStyle();
10146
10147     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
10148     IDispatch *behaviorUrns();
10149
10150     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
10151     void tagUrn(BSTR v);
10152
10153     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
10154     BSTR tagUrn();
10155
10156     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10157     void onbeforeeditfocus(VARIANT v);
10158
10159     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
10160     VARIANT onbeforeeditfocus();
10161
10162     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
10163     long readyStateValue();
10164
10165     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
10166     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
10167
10168     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
10169     void mergeAttributes(
10170             [in] IHTMLElement *mergeThis,
10171             [in, optional] VARIANT *pvarFlags);
10172
10173     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
10174     VARIANT_BOOL isMultiLine();
10175
10176     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
10177     VARIANT_BOOL canHaveHTML();
10178
10179     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10180     void onlayoutcomplete(VARIANT v);
10181
10182     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
10183     VARIANT onlayoutcomplete();
10184
10185     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10186     void onpage(VARIANT v);
10187
10188     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
10189     VARIANT onpage();
10190
10191     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10192     void inflateBlock(VARIANT_BOOL v);
10193
10194     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
10195     VARIANT_BOOL inflateBlock();
10196
10197     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10198     void onbeforedeactivate(VARIANT v);
10199
10200     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
10201     VARIANT onbeforedeactivate();
10202
10203     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
10204     void setActive();
10205
10206     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10207     void contentEditable(BSTR v);
10208
10209     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
10210     BSTR contentEditable();
10211
10212     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
10213     VARIANT_BOOL isContentEditable();
10214
10215     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10216     void hideFocus(VARIANT_BOOL v);
10217
10218     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
10219     VARIANT_BOOL hideFocus();
10220
10221     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10222     void disabled(VARIANT_BOOL v);
10223
10224     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
10225     VARIANT_BOOL disabled();
10226
10227     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
10228     VARIANT_BOOL isDisabled();
10229
10230     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10231     void onmove(VARIANT v);
10232
10233     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
10234     VARIANT onmove();
10235
10236     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10237     void oncontrolselect(VARIANT v);
10238
10239     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
10240     VARIANT oncontrolselect();
10241
10242     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
10243     VARIANT_BOOL fireEvent(
10244             [in] BSTR bstrEventName,
10245             [in, optional] VARIANT *pvarEventObject);
10246
10247     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10248     void onresizestart(VARIANT v);
10249
10250     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
10251     VARIANT onresizestart();
10252
10253     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10254     void onresizeend(VARIANT v);
10255
10256     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
10257     VARIANT onresizeend();
10258
10259     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10260     void onmovestart(VARIANT v);
10261
10262     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
10263     VARIANT onmovestart();
10264
10265     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10266     void onmoveend(VARIANT v);
10267
10268     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
10269     VARIANT onmoveend();
10270
10271     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10272     void onmouseenter(VARIANT v);
10273
10274     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
10275     VARIANT onmouseenter();
10276
10277     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10278     void onmouseleave(VARIANT v);
10279
10280     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
10281     VARIANT onmouseleave();
10282
10283     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10284     void onactivate(VARIANT v);
10285
10286     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
10287     VARIANT onactivate();
10288
10289     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10290     void ondeactivate(VARIANT v);
10291
10292     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
10293     VARIANT ondeactivate();
10294
10295     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
10296     VARIANT_BOOL dragDrop();
10297
10298     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
10299     LONG glyphMode();
10300
10301     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10302     void onmousewheel(VARIANT v);
10303
10304     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
10305     VARIANT onmousewheel();
10306
10307     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
10308     void normalize();
10309
10310     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
10311     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
10312
10313     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
10314     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
10315
10316     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
10317     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
10318
10319     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10320     void onbeforeactivate(VARIANT v);
10321
10322     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
10323     VARIANT onbeforeactivate();
10324
10325     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10326     void onfocusin(VARIANT v);
10327
10328     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
10329     VARIANT onfocusin();
10330
10331     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10332     void onfocusout(VARIANT v);
10333
10334     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
10335     VARIANT onfocusout();
10336
10337     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
10338     long uniqueNumber();
10339
10340     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
10341     BSTR uniqueID();
10342
10343     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
10344     long nodeType();
10345
10346     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
10347     IHTMLDOMNode *parentNode();
10348
10349     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
10350     VARIANT_BOOL hasChildNodes();
10351
10352     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
10353     IDispatch *childNodes();
10354
10355     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
10356     IDispatch *attributes();
10357
10358     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
10359     IHTMLDOMNode *insertBefore(
10360             [in] IHTMLDOMNode *newChild,
10361             [in, optional] VARIANT refChild);
10362
10363     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
10364     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
10365
10366     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
10367     IHTMLDOMNode *replaceChild(
10368             [in] IHTMLDOMNode *newChild,
10369             [in] IHTMLDOMNode *oldChild);
10370
10371     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
10372     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
10373
10374     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
10375     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
10376
10377     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
10378     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
10379
10380     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
10381     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
10382
10383     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
10384     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
10385
10386     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
10387     BSTR nodeName();
10388
10389     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10390     void nodeValue(VARIANT v);
10391
10392     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
10393     VARIANT nodeValue();
10394
10395     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
10396     IHTMLDOMNode *firstChild();
10397
10398     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
10399     IHTMLDOMNode *lastChild();
10400
10401     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
10402     IHTMLDOMNode *previousSibling();
10403
10404     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
10405     IHTMLDOMNode *nextSibling();
10406
10407     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
10408     IDispatch *ownerDocument();
10409 }
10410
10411 /*****************************************************************************
10412  *    IOmHistory interface
10413  */
10414 [
10415     odl,
10416     oleautomation,
10417     dual,
10418     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
10419 ]
10420 interface IOmHistory : IDispatch
10421 {
10422     [propget, id(DISPID_IOMHISTORY_LENGTH)]
10423     HRESULT length([retval, out] short *p);
10424
10425     [id(DISPID_IOMHISTORY_BACK)]
10426     HRESULT back([optional, in] VARIANT *pvargdistance);
10427
10428     [id(DISPID_IOMHISTORY_FORWARD)]
10429     HRESULT forward([optional, in] VARIANT *pvargdistance);
10430
10431     [id(DISPID_IOMHISTORY_GO)]
10432     HRESULT go([optional, in] VARIANT *pvargdistance);
10433 }
10434
10435 /*****************************************************************************
10436  *    IHTMLMimeTypesCollection interface
10437  */
10438 [
10439     odl,
10440     oleautomation,
10441     dual,
10442     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
10443 ]
10444 interface IHTMLMimeTypesCollection : IDispatch
10445 {
10446     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
10447     HRESULT length([retval, out] long *p);
10448 }
10449
10450 /*****************************************************************************
10451  *    IHTMLPluginsCollection interface
10452  */
10453 [
10454     odl,
10455     oleautomation,
10456     dual,
10457     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
10458 ]
10459 interface IHTMLPluginsCollection : IDispatch
10460 {
10461     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
10462     HRESULT length([retval, out] long *p);
10463
10464     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
10465     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
10466 }
10467
10468 /*****************************************************************************
10469  *    IHTMLOpsProfile interface
10470  */
10471 [
10472     odl,
10473     oleautomation,
10474     dual,
10475     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
10476 ]
10477 interface IHTMLOpsProfile : IDispatch
10478 {
10479     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
10480     HRESULT addRequest(
10481         [in] BSTR name,
10482         [optional, in] VARIANT reserved,
10483         [retval, out] VARIANT_BOOL *success);
10484
10485     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
10486     HRESULT clearRequest();
10487
10488     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
10489     HRESULT doRequest(
10490         [in] VARIANT usage,
10491         [optional, in] VARIANT fname,
10492         [optional, in] VARIANT domain,
10493         [optional, in] VARIANT path,
10494         [optional, in] VARIANT expire,
10495         [optional, in] VARIANT reserved);
10496
10497     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
10498     HRESULT getAttribute(
10499         [in] BSTR name,
10500         [retval, out] BSTR *value);
10501
10502     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
10503     HRESULT setAttribute(
10504         [in] BSTR name,
10505         [in] BSTR value,
10506         [optional, in] VARIANT prefs,
10507         [retval, out] VARIANT_BOOL *success);
10508
10509     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
10510     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
10511
10512     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
10513     HRESULT addReadRequest(
10514         [in] BSTR name,
10515         [optional, in] VARIANT reserved,
10516         [retval, out] VARIANT_BOOL *success);
10517
10518     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
10519     HRESULT doReadRequest(
10520         [in] VARIANT usage,
10521         [optional, in] VARIANT fname,
10522         [optional, in] VARIANT domain,
10523         [optional, in] VARIANT path,
10524         [optional, in] VARIANT expire,
10525         [optional, in] VARIANT reserved);
10526
10527     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
10528     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
10529 }
10530
10531 /*****************************************************************************
10532  *    IOmNavigator interface
10533  */
10534 [
10535         odl,
10536         oleautomation,
10537         dual,
10538         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
10539 ]
10540 interface IOmNavigator : IDispatch
10541 {
10542     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
10543     HRESULT appCodeName([retval, out] BSTR *p);
10544
10545     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
10546     HRESULT appName([retval, out] BSTR *p);
10547
10548     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
10549     HRESULT appVersion([retval, out] BSTR *p);
10550
10551     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
10552     HRESULT userAgent([retval, out] BSTR *p);
10553
10554     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
10555     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
10556
10557     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
10558     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
10559
10560     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
10561     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
10562
10563     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
10564     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
10565
10566     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
10567     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
10568
10569     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
10570     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
10571
10572     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
10573     HRESULT toString([retval, out] BSTR *String);
10574
10575     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
10576     HRESULT cpuClass([retval, out] BSTR *p);
10577
10578     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
10579     HRESULT systemLanguage([retval, out] BSTR *p);
10580
10581     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
10582     HRESULT browserLanguage([retval, out] BSTR *p);
10583
10584     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
10585     HRESULT userLanguage([retval, out] BSTR *p);
10586
10587     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
10588     HRESULT platform([retval, out] BSTR *p);
10589
10590     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
10591     HRESULT appMinorVersion([retval, out] BSTR *p);
10592
10593     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
10594     HRESULT connectionSpeed([retval, out] long *p);
10595
10596     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
10597     HRESULT onLine([retval, out] VARIANT_BOOL *p);
10598
10599     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
10600     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
10601 }
10602
10603 /*****************************************************************************
10604  *    IHTMLLocation interface
10605  */
10606 [
10607     odl,
10608     oleautomation,
10609     dual,
10610     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
10611 ]
10612 interface IHTMLLocation : IDispatch
10613 {
10614     [propput, id(DISPID_IHTMLLOCATION_HREF)]
10615     HRESULT href([in] BSTR v);
10616
10617     [propget, id(DISPID_IHTMLLOCATION_HREF)]
10618     HRESULT href([retval, out] BSTR *p);
10619
10620     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10621     HRESULT protocol([in] BSTR v);
10622
10623     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
10624     HRESULT protocol([retval, out] BSTR *p);
10625
10626     [propput, id(DISPID_IHTMLLOCATION_HOST)]
10627     HRESULT host([in] BSTR v);
10628
10629     [propget, id(DISPID_IHTMLLOCATION_HOST)]
10630     HRESULT host([retval, out] BSTR *p);
10631
10632     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10633     HRESULT hostname([in] BSTR v);
10634
10635     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
10636     HRESULT hostname([retval, out] BSTR *p);
10637
10638     [propput, id(DISPID_IHTMLLOCATION_PORT)]
10639     HRESULT port([in] BSTR v);
10640
10641     [propget, id(DISPID_IHTMLLOCATION_PORT)]
10642     HRESULT port([retval, out] BSTR *p);
10643
10644     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
10645     HRESULT pathname([in] BSTR v);
10646
10647     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
10648     HRESULT pathname([retval, out] BSTR *p);
10649
10650     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
10651     HRESULT search([in] BSTR v);
10652
10653     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
10654     HRESULT search([retval, out] BSTR *p);
10655
10656     [propput, id(DISPID_IHTMLLOCATION_HASH)]
10657     HRESULT hash([in] BSTR v);
10658
10659     [propget, id(DISPID_IHTMLLOCATION_HASH)]
10660     HRESULT hash([retval, out] BSTR *p);
10661
10662     [id(DISPID_IHTMLLOCATION_RELOAD)]
10663     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
10664
10665     [id(DISPID_IHTMLLOCATION_REPLACE)]
10666     HRESULT replace([in] BSTR bstr);
10667
10668     [id(DISPID_IHTMLLOCATION_ASSIGN)]
10669     HRESULT assign([in] BSTR bstr);
10670
10671     [id(DISPID_IHTMLLOCATION_TOSTRING)]
10672     HRESULT toString([retval, out] BSTR *String);
10673 }
10674
10675 /*****************************************************************************
10676  *    IHTMLDataTransfer interface
10677  */
10678 [
10679     odl,
10680     oleautomation,
10681     dual,
10682     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
10683 ]
10684 interface IHTMLDataTransfer : IDispatch
10685 {
10686     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
10687     HRESULT setData(
10688             [in] BSTR format,
10689             [in] VARIANT *data,
10690             [out, retval] VARIANT_BOOL *pret);
10691
10692     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
10693     HRESULT getData(
10694             [in] BSTR format,
10695             [out, retval] VARIANT *pvarRet);
10696
10697     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
10698     HRESULT clearData(
10699             [in] BSTR format,
10700             [out, retval] VARIANT_BOOL *pret);
10701
10702     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10703     HRESULT dropEffect([in] BSTR v);
10704
10705     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
10706     HRESULT dropEffect([out, retval] BSTR *p);
10707
10708     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10709     HRESULT effectAllowed([in] BSTR v);
10710
10711     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
10712     HRESULT effectAllowed([out, retval] BSTR *p);
10713 }
10714
10715 /*****************************************************************************
10716  *    IHTMLEventObj interface
10717  */
10718 [
10719     odl,
10720     oleautomation,
10721     dual,
10722     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
10723 ]
10724 interface IHTMLEventObj : IDispatch
10725 {
10726     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
10727     HRESULT srcElement([retval, out] IHTMLElement **p);
10728
10729     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
10730     HRESULT altKey([retval, out] VARIANT_BOOL *p);
10731
10732     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
10733     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
10734
10735     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
10736     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
10737
10738     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10739     HRESULT returnValue([in] VARIANT v);
10740
10741     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
10742     HRESULT returnValue([retval, out] VARIANT *p);
10743
10744     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10745     HRESULT cancelBubble([in] VARIANT_BOOL v);
10746
10747     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
10748     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
10749
10750     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
10751     HRESULT fromElement([retval, out] IHTMLElement **p);
10752
10753     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
10754     HRESULT toElement([retval, out] IHTMLElement **p);
10755
10756     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10757     HRESULT keyCode([in] long v);
10758
10759     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
10760     HRESULT keyCode([retval, out] long *p);
10761
10762     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
10763     HRESULT button([retval, out] long *p);
10764
10765     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
10766     HRESULT type([retval, out] BSTR *p);
10767
10768     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
10769     HRESULT qualifier([retval, out] BSTR *p);
10770
10771     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
10772     HRESULT reason([retval, out] long *p);
10773
10774     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
10775     HRESULT x([retval, out] long *p);
10776
10777     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
10778     HRESULT y([retval, out] long *p);
10779
10780     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
10781     HRESULT clientX([retval, out] long *p);
10782
10783     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
10784     HRESULT clientY([retval, out] long *p);
10785
10786     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
10787     HRESULT offsetX([retval, out] long *p);
10788
10789     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
10790     HRESULT offsetY([retval, out] long *p);
10791
10792     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
10793     HRESULT screenX([retval, out] long *p);
10794
10795     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
10796     HRESULT screenY([retval, out] long *p);
10797
10798     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
10799     HRESULT srcFilter([retval, out] IDispatch **p);
10800 }
10801
10802 /*****************************************************************************
10803  *    IHTMLFramesCollection2 interface
10804  */
10805 [
10806     odl,
10807     oleautomation,
10808     dual,
10809     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
10810 ]
10811 interface IHTMLFramesCollection2 : IDispatch
10812 {
10813     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
10814     HRESULT item(
10815         [in] VARIANT *pvarIndex,
10816         [retval, out] VARIANT *pvarResult);
10817
10818     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
10819     HRESULT length([retval, out] long *p);
10820 }
10821
10822 /*****************************************************************************
10823  *    IHTMLScreen interface
10824  */
10825 [
10826     odl,
10827     oleautomation,
10828     dual,
10829     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
10830 ]
10831 interface IHTMLScreen : IDispatch
10832 {
10833     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
10834     HRESULT colorDepth([retval, out] long *p);
10835
10836     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10837     HRESULT bufferDepth([in] long v);
10838
10839     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
10840     HRESULT bufferDepth([retval, out] long *p);
10841
10842     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
10843     HRESULT width([retval, out] long *p);
10844
10845     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
10846     HRESULT height([retval, out] long *p);
10847
10848     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10849     HRESULT updateInterval([in] long v);
10850
10851     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
10852     HRESULT updateInterval([retval, out] long *p);
10853
10854     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
10855     HRESULT availHeight([retval, out] long *p);
10856
10857     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
10858     HRESULT availWidth([retval, out] long *p);
10859
10860     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
10861     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
10862 }
10863
10864 /*****************************************************************************
10865  *    IHTMLWindow2 interface
10866  */
10867 [
10868     odl,
10869     oleautomation,
10870     dual,
10871     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
10872 ]
10873 interface IHTMLWindow2 : IHTMLFramesCollection2
10874 {
10875     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
10876     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
10877
10878     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10879     HRESULT defaultStatus([in] BSTR v);
10880
10881     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
10882     HRESULT defaultStatus([retval, out] BSTR *p);
10883
10884     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
10885     HRESULT status([in] BSTR v);
10886
10887     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
10888     HRESULT status([retval, out] BSTR *p);
10889
10890     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
10891     HRESULT setTimeout(
10892         [in] BSTR expression,
10893         [in] long msec,
10894         [optional, in] VARIANT *language,
10895         [retval, out] long *timerID);
10896
10897     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
10898     HRESULT clearTimeout([in] long timerID);
10899
10900     [id(DISPID_IHTMLWINDOW2_ALERT)]
10901     HRESULT alert([defaultvalue(""), in] BSTR message);
10902
10903     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
10904     HRESULT confirm(
10905         [defaultvalue(""), in] BSTR message,
10906         [retval, out] VARIANT_BOOL *confirmed);
10907
10908     [id(DISPID_IHTMLWINDOW2_PROMPT)]
10909     HRESULT prompt(
10910         [defaultvalue(""), in] BSTR message,
10911         [defaultvalue("undefined"), in] BSTR defstr,
10912         [retval, out] VARIANT *textdata);
10913
10914     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
10915     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
10916
10917     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
10918     HRESULT location([retval, out] IHTMLLocation **p);
10919
10920     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
10921     HRESULT history([retval, out] IOmHistory **p);
10922
10923     [id(DISPID_IHTMLWINDOW2_CLOSE)]
10924     HRESULT close();
10925
10926     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
10927     HRESULT opener([in] VARIANT v);
10928
10929     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
10930     HRESULT opener([retval, out] VARIANT *p);
10931
10932     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
10933     HRESULT navigator([retval, out] IOmNavigator **p);
10934
10935     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
10936     HRESULT name([in] BSTR v);
10937
10938     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
10939     HRESULT name([retval, out] BSTR *p);
10940
10941     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
10942     HRESULT parent([retval, out] IHTMLWindow2 **p);
10943
10944     [id(DISPID_IHTMLWINDOW2_OPEN)]
10945     HRESULT open(
10946         [defaultvalue(""), in] BSTR url,
10947         [defaultvalue(""), in] BSTR name,
10948         [defaultvalue(""), in] BSTR features,
10949         [defaultvalue(0), in] VARIANT_BOOL replace,
10950         [retval, out] IHTMLWindow2 **pomWindowResult);
10951
10952     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
10953     HRESULT self([retval, out] IHTMLWindow2 **p);
10954
10955     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
10956     HRESULT top([retval, out] IHTMLWindow2 **p);
10957
10958     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
10959     HRESULT window([retval, out] IHTMLWindow2 **p);
10960
10961     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
10962     HRESULT navigate([in] BSTR url);
10963
10964     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10965     HRESULT onfocus([in] VARIANT v);
10966
10967     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
10968     HRESULT onfocus([retval, out] VARIANT *p);
10969
10970     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10971     HRESULT onblur([in] VARIANT v);
10972
10973     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
10974     HRESULT onblur([retval, out] VARIANT *p);
10975
10976     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10977     HRESULT onload([in] VARIANT v);
10978
10979     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
10980     HRESULT onload([retval, out] VARIANT *p);
10981
10982     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10983     HRESULT onbeforeunload([in] VARIANT v);
10984
10985     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
10986     HRESULT onbeforeunload([retval, out] VARIANT *p);
10987
10988     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10989     HRESULT onunload([in] VARIANT v);
10990
10991     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
10992     HRESULT onunload([retval, out] VARIANT *p);
10993
10994     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
10995     HRESULT onhelp([in] VARIANT v);
10996
10997     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
10998     HRESULT onhelp([retval, out] VARIANT *p);
10999
11000     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
11001     HRESULT onerror([in] VARIANT v);
11002
11003     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
11004     HRESULT onerror([retval, out] VARIANT *p);
11005
11006     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
11007     HRESULT onresize([in] VARIANT v);
11008
11009     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
11010     HRESULT onresize([retval, out] VARIANT *p);
11011
11012     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
11013     HRESULT onscroll([in] VARIANT v);
11014
11015     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
11016     HRESULT onscroll([retval, out] VARIANT *p);
11017
11018     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
11019     HRESULT document([retval, out] IHTMLDocument2 **p);
11020
11021     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11022     HRESULT event([retval, out] IHTMLEventObj **p);
11023
11024     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
11025     HRESULT _newEnum([retval, out] IUnknown **p);
11026
11027     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11028     HRESULT showModalDialog(
11029         [in] BSTR dialog,
11030         [optional, in] VARIANT *varArgIn,
11031         [optional, in] VARIANT *varOptions,
11032         [retval, out] VARIANT *varArgOut);
11033
11034     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11035     HRESULT showHelp(
11036         [in] BSTR helpURL,
11037         [optional, in] VARIANT helpArg,
11038         [defaultvalue(""), in] BSTR features);
11039
11040     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11041     HRESULT screen([retval, out] IHTMLScreen **p);
11042
11043     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11044     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
11045
11046     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11047     HRESULT focus();
11048
11049     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11050     HRESULT closed([retval, out] VARIANT_BOOL *p);
11051
11052     [id(DISPID_IHTMLWINDOW2_BLUR)]
11053     HRESULT blur();
11054
11055     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11056     HRESULT scroll([in] long x, [in] long y);
11057
11058     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11059     HRESULT clientInformation([retval, out] IOmNavigator **p);
11060
11061     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
11062     HRESULT setInterval([
11063         in] BSTR expression,
11064         [in] long msec,
11065         [optional, in] VARIANT *language,
11066         [retval, out] long *timerID);
11067
11068     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11069     HRESULT clearInterval([in] long timerID);
11070
11071     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11072     HRESULT offscreenBuffering([in] VARIANT v);
11073
11074     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11075     HRESULT offscreenBuffering([retval, out] VARIANT *p);
11076
11077     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11078     HRESULT execScript(
11079         [in] BSTR scode,
11080         [defaultvalue("JScript"), in] BSTR language,
11081         [retval, out] VARIANT *pvarRet);
11082
11083     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11084     HRESULT toString([retval, out] BSTR *String);
11085
11086     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11087     HRESULT scrollBy([in] long x, [in] long y);
11088
11089     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11090     HRESULT scrollTo([in] long x, [in] long y);
11091
11092     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11093     HRESULT moveTo([in] long x, [in] long y);
11094
11095     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11096     HRESULT moveBy([in] long x, [in] long y);
11097
11098     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11099     HRESULT resizeTo([in] long x, [in] long y);
11100
11101     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11102     HRESULT resizeBy([in] long x, [in] long y);
11103
11104     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11105     HRESULT external([retval, out] IDispatch **p);
11106 }
11107
11108 /*****************************************************************************
11109  *    IHTMLWindow3 interface
11110  */
11111 [
11112     odl,
11113     oleautomation,
11114     dual,
11115     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
11116 ]
11117 interface IHTMLWindow3 : IDispatch
11118 {
11119     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11120     HRESULT screenLeft([out, retval] long *p);
11121
11122     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11123     HRESULT screenTop([out, retval] long *p);
11124
11125     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11126     HRESULT attachEvent(
11127             [in] BSTR event,
11128             [in] IDispatch *pDisp,
11129             [out, retval] VARIANT_BOOL *pfResult);
11130
11131     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11132     HRESULT detachEvent(
11133             [in] BSTR event,
11134             [in] IDispatch *pDisp);
11135
11136     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11137     HRESULT setTimeout(
11138             [in] VARIANT *expression,
11139             [in] long msec,
11140             [in, optional] VARIANT *language,
11141             [out, retval] long *timerID);
11142
11143     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11144     HRESULT setInterval(
11145             [in] VARIANT *expression,
11146             [in] long msec,
11147             [in, optional] VARIANT *language,
11148             [out, retval] long *timerID);
11149
11150     [id(DISPID_IHTMLWINDOW3_PRINT)]
11151     HRESULT print();
11152
11153     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11154     HRESULT onbeforeprint([in] VARIANT v);
11155
11156     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11157     HRESULT onbeforeprint([out, retval] VARIANT *p);
11158
11159     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11160     HRESULT onafterprint([in] VARIANT v);
11161
11162     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11163     HRESULT onafterprint([out, retval] VARIANT *p);
11164
11165     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11166     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
11167
11168     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11169     HRESULT showModelessDialog(
11170             [in, defaultvalue("")] BSTR url,
11171             [in, optional] VARIANT *varArgIn,
11172             [in, optional] VARIANT *options,
11173             [out, retval] IHTMLWindow2 **pDialog);
11174 }
11175
11176 /*****************************************************************************
11177  *    DispHTMLWindow2 dispinterface
11178  */
11179 [
11180     hidden,
11181     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
11182 ]
11183 dispinterface DispHTMLWindow2
11184 {
11185 properties:
11186 methods:
11187     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
11188     VARIANT item([in] VARIANT *pvarIndex);
11189
11190     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
11191     long length();
11192
11193     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
11194     IHTMLFramesCollection2 *frames();
11195
11196     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11197     void defaultStatus(BSTR v);
11198
11199     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
11200     BSTR defaultStatus();
11201
11202     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
11203     void status(BSTR v);
11204
11205     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
11206     BSTR status();
11207
11208     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
11209     void clearTimeout([in] long timerID);
11210
11211     [id(DISPID_IHTMLWINDOW2_ALERT)]
11212     void alert([in, defaultvalue("")] BSTR message);
11213
11214     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
11215     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
11216
11217     [id(DISPID_IHTMLWINDOW2_PROMPT)]
11218     VARIANT prompt(
11219             [in, defaultvalue("")] BSTR message,
11220             [in, defaultvalue("undefined")] BSTR defstr);
11221
11222     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
11223     IHTMLImageElementFactory *Image();
11224
11225     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
11226     IHTMLLocation *location();
11227
11228     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
11229     IOmHistory *history();
11230
11231     [id(DISPID_IHTMLWINDOW2_CLOSE)]
11232     void close();
11233
11234     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
11235     void opener(VARIANT v);
11236
11237     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
11238     VARIANT opener();
11239
11240     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
11241     IOmNavigator *navigator();
11242
11243     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
11244     void name(BSTR v);
11245
11246     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
11247     BSTR name();
11248
11249     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
11250     IHTMLWindow2 *parent();
11251
11252     [id(DISPID_IHTMLWINDOW2_OPEN)]
11253     IHTMLWindow2 *open(
11254             [in, defaultvalue("")] BSTR url,
11255             [in, defaultvalue("")] BSTR name,
11256             [in, defaultvalue("")] BSTR features,
11257             [in, defaultvalue(0)]  VARIANT_BOOL replace);
11258
11259     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
11260     IHTMLWindow2 *self();
11261
11262     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
11263     IHTMLWindow2 *top();
11264
11265     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
11266     IHTMLWindow2 *window();
11267
11268     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
11269     void navigate([in] BSTR url);
11270
11271     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11272     void onfocus(VARIANT v);
11273
11274     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
11275     VARIANT onfocus();
11276
11277     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11278     void onblur(VARIANT v);
11279
11280     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
11281     VARIANT onblur();
11282
11283     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
11284     VARIANT onload();
11285
11286     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11287     void onbeforeunload(VARIANT v);
11288
11289     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
11290     VARIANT onbeforeunload();
11291
11292     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11293     void onunload(VARIANT v);
11294
11295     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
11296     VARIANT onunload();
11297
11298     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11299     void onhelp(VARIANT v);
11300
11301     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
11302     VARIANT onhelp();
11303
11304     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11305     void onerror(VARIANT v);
11306
11307     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
11308     VARIANT onerror();
11309
11310     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11311     void onresize(VARIANT v);
11312
11313     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
11314     VARIANT onresize();
11315
11316     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11317     void onscroll(VARIANT v);
11318
11319     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
11320     VARIANT onscroll();
11321
11322     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
11323     IHTMLDocument2 *document();
11324
11325     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
11326     IHTMLEventObj *event();
11327
11328     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
11329     IUnknown *_newEnum();
11330
11331     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
11332     VARIANT showModalDialog(
11333             [in] BSTR dialog,
11334             [in, optional] VARIANT *varArgIn,
11335             [in, optional] VARIANT *varOptions);
11336
11337     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
11338     void showHelp(
11339             [in] BSTR helpURL,
11340             [in, optional] VARIANT helpArg,
11341             [in, defaultvalue("")] BSTR features);
11342
11343     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
11344     IHTMLScreen *screen();
11345
11346     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
11347     IHTMLOptionElementFactory *Option();
11348
11349     [id(DISPID_IHTMLWINDOW2_FOCUS)]
11350     void focus();
11351
11352     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
11353     VARIANT_BOOL closed();
11354
11355     [id(DISPID_IHTMLWINDOW2_BLUR)]
11356     void blur();
11357
11358     [id(DISPID_IHTMLWINDOW2_SCROLL)]
11359     void scroll([in] long x, [in] long y);
11360
11361     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
11362     IOmNavigator *clientInformation();
11363
11364     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
11365     void clearInterval([in] long timerID);
11366
11367     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11368     void offscreenBuffering(VARIANT v);
11369
11370     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
11371     VARIANT offscreenBuffering();
11372
11373     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
11374     VARIANT execScript(
11375             [in] BSTR _code,
11376             [in, defaultvalue("JScript")] BSTR language);
11377
11378     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
11379     BSTR toString();
11380
11381     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
11382     void scrollBy([in] long x, [in] long y);
11383
11384     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
11385     void scrollTo([in] long x, [in] long y);
11386
11387     [id(DISPID_IHTMLWINDOW2_MOVETO)]
11388     void moveTo([in] long x, [in] long y);
11389
11390     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
11391     void moveBy([in] long x, [in] long y);
11392
11393     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
11394     void resizeTo([in] long x, [in] long y);
11395
11396     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
11397     void resizeBy([in] long x, [in] long y);
11398
11399     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
11400     IDispatch *external();
11401
11402     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
11403     long screenLeft();
11404
11405     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
11406     long screenTop();
11407
11408     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
11409     VARIANT_BOOL attachEvent(
11410              [in] BSTR event,
11411              [in] IDispatch *pDisp);
11412
11413     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
11414     void detachEvent(
11415             [in] BSTR event,
11416             [in] IDispatch *pDisp);
11417
11418     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
11419     long setTimeout(
11420             [in] VARIANT *expression,
11421             [in] long msec,
11422             [in, optional] VARIANT *language);
11423
11424     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
11425     long setInterval(
11426             [in] VARIANT *expression,
11427             [in] long msec,
11428             [in, optional] VARIANT *language);
11429
11430     [id(DISPID_IHTMLWINDOW3_PRINT)]
11431     void print();
11432
11433     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11434     void onbeforeprint(VARIANT v);
11435
11436     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
11437     VARIANT onbeforeprint();
11438
11439     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11440     void onafterprint(VARIANT v);
11441
11442     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
11443     VARIANT onafterprint();
11444
11445     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
11446     IHTMLDataTransfer *clipboardData();
11447
11448     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
11449     IHTMLWindow2 *showModelessDialog(
11450             [in, defaultvalue("")] BSTR url,
11451             [in, optional] VARIANT *varArgIn,
11452             [in, optional] VARIANT *options);
11453
11454     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
11455     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
11456
11457     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
11458     IHTMLFrameBase *frameElement();
11459 }
11460
11461 /*****************************************************************************
11462  *    HTMLDocumentEvents2 interface
11463  */
11464 [
11465     hidden,
11466     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
11467 ]
11468 dispinterface HTMLDocumentEvents2
11469 {
11470     properties:
11471     methods:
11472     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
11473     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
11474
11475     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
11476     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
11477
11478     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
11479     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
11480
11481     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
11482     void onkeydown([in] IHTMLEventObj *pEvtObj);
11483
11484     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
11485     void onkeyup([in] IHTMLEventObj *pEvtObj);
11486
11487     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
11488     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
11489
11490     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
11491     void onmousedown([in] IHTMLEventObj *pEvtObj);
11492
11493     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
11494     void onmousemove([in] IHTMLEventObj *pEvtObj);
11495
11496     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
11497     void onmouseup([in] IHTMLEventObj *pEvtObj);
11498
11499     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
11500     void onmouseout([in] IHTMLEventObj *pEvtObj);
11501
11502     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
11503     void onmouseover([in] IHTMLEventObj *pEvtObj);
11504
11505     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
11506     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
11507
11508     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
11509     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
11510
11511     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
11512     void onafterupdate([in] IHTMLEventObj *pEvtObj);
11513
11514     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
11515     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
11516
11517     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
11518     void onrowenter([in] IHTMLEventObj *pEvtObj);
11519
11520     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
11521     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
11522
11523     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
11524     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
11525
11526     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
11527     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
11528
11529     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
11530     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
11531
11532     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
11533     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
11534
11535     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
11536     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
11537
11538     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
11539     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
11540
11541     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
11542     void oncellchange([in] IHTMLEventObj *pEvtObj);
11543
11544     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
11545     void onpropertychange([in] IHTMLEventObj *pEvtObj);
11546
11547     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
11548     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
11549
11550     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
11551     void ondataavailable([in] IHTMLEventObj *pEvtObj);
11552
11553     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
11554     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
11555
11556     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
11557     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
11558
11559     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
11560     void onselectionchange([in] IHTMLEventObj *pEvtObj);
11561
11562     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
11563     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
11564
11565     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
11566     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
11567
11568     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
11569     void onfocusin([in] IHTMLEventObj *pEvtObj);
11570
11571     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
11572     void onfocusout([in] IHTMLEventObj *pEvtObj);
11573
11574     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
11575     void onactivate([in] IHTMLEventObj *pEvtObj);
11576
11577     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
11578     void ondeactivate([in] IHTMLEventObj *pEvtObj);
11579
11580     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
11581     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
11582
11583     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
11584     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
11585 }
11586
11587 /*****************************************************************************
11588  *    HTMLDocumentEvents interface
11589  */
11590 [
11591     hidden,
11592     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
11593 ]
11594 dispinterface HTMLDocumentEvents
11595 {
11596     properties:
11597     methods:
11598     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
11599     VARIANT_BOOL onhelp();
11600
11601     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
11602     VARIANT_BOOL onclick();
11603
11604     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
11605     VARIANT_BOOL ondblclick();
11606
11607     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
11608     void onkeydown();
11609
11610     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
11611     void onkeyup();
11612
11613     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
11614     VARIANT_BOOL onkeypress();
11615
11616     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
11617     void onmousedown();
11618
11619     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
11620     void onmousemove();
11621
11622     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
11623     void onmouseup();
11624
11625     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
11626     void onmouseout();
11627
11628     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
11629     void onmouseover();
11630
11631     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
11632     void onreadystatechange();
11633
11634     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
11635     VARIANT_BOOL onbeforeupdate();
11636
11637     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
11638     void onafterupdate();
11639
11640     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
11641     VARIANT_BOOL onrowexit();
11642
11643     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
11644     void onrowenter();
11645
11646     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
11647     VARIANT_BOOL ondragstart();
11648
11649     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
11650     VARIANT_BOOL onselectstart();
11651
11652     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
11653     VARIANT_BOOL onerrorupdate();
11654
11655     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
11656     VARIANT_BOOL oncontextmenu();
11657
11658     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
11659     VARIANT_BOOL onstop();
11660
11661     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
11662     void onrowsdelete();
11663
11664     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
11665     void onrowsinserted();
11666
11667     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
11668     void oncellchange();
11669
11670     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
11671     void onpropertychange();
11672
11673     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
11674     void ondatasetchanged();
11675
11676     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
11677     void ondataavailable();
11678
11679     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
11680     void ondatasetcomplete();
11681
11682     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
11683     void onbeforeeditfocus();
11684
11685     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
11686     void onselectionchange();
11687
11688     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
11689     VARIANT_BOOL oncontrolselect();
11690
11691     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
11692     VARIANT_BOOL onmousewheel();
11693
11694     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
11695     void onfocusin();
11696
11697     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
11698     void onfocusout();
11699
11700     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
11701     void onactivate();
11702
11703     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
11704     void ondeactivate();
11705
11706     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
11707     VARIANT_BOOL onbeforeactivate();
11708
11709     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
11710     VARIANT_BOOL onbeforedeactivate();
11711 }
11712
11713 /*****************************************************************************
11714  *    HTMLTextContainerEvents interface
11715  */
11716 [
11717     hidden,
11718     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
11719 ]
11720 dispinterface HTMLTextContainerEvents
11721 {
11722 properties:
11723
11724 methods:
11725     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
11726     VARIANT_BOOL onhelp();
11727
11728     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
11729     VARIANT_BOOL onclick();
11730
11731     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
11732     VARIANT_BOOL ondblclick();
11733
11734     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
11735     VARIANT_BOOL onkeypress();
11736
11737     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
11738     void onkeydown();
11739
11740     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
11741     void onkeyup();
11742
11743     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
11744     void onmouseout();
11745
11746     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
11747     void onmouseover();
11748
11749     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
11750     void onmousemove();
11751
11752     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
11753     void onmousedown();
11754
11755     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
11756     void onmouseup();
11757
11758     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
11759     VARIANT_BOOL onselectstart();
11760
11761     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
11762     void onfilterchange();
11763
11764     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
11765     VARIANT_BOOL ondragstart();
11766
11767     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
11768     VARIANT_BOOL onbeforeupdate();
11769
11770     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
11771     void onafterupdate();
11772
11773     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
11774     VARIANT_BOOL onerrorupdate();
11775
11776     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
11777     VARIANT_BOOL onrowexit();
11778
11779     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
11780     void onrowenter();
11781
11782     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
11783     void ondatasetchanged();
11784
11785     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
11786     void ondataavailable();
11787
11788     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
11789     void ondatasetcomplete();
11790
11791     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
11792     void onlosecapture();
11793
11794     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
11795     void onpropertychange();
11796
11797     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
11798     void onscroll();
11799
11800     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
11801     void onfocus();
11802
11803     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
11804     void onblur();
11805
11806     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
11807     void onresize();
11808
11809     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
11810     VARIANT_BOOL ondrag();
11811
11812     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
11813     void ondragend();
11814
11815     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
11816     VARIANT_BOOL ondragenter();
11817
11818     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
11819     VARIANT_BOOL ondragover();
11820
11821     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
11822     void ondragleave();
11823
11824     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
11825     VARIANT_BOOL ondrop();
11826
11827     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
11828     VARIANT_BOOL onbeforecut();
11829
11830     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
11831     VARIANT_BOOL oncut();
11832
11833     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
11834     VARIANT_BOOL onbeforecopy();
11835
11836     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
11837     VARIANT_BOOL oncopy();
11838
11839     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
11840     VARIANT_BOOL onbeforepaste();
11841
11842     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
11843     VARIANT_BOOL onpaste();
11844
11845     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
11846     VARIANT_BOOL oncontextmenu();
11847
11848     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
11849     void onrowsdelete();
11850
11851     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
11852     void onrowsinserted();
11853
11854     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
11855     void oncellchange();
11856
11857     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
11858     void onreadystatechange();
11859
11860     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
11861     void onbeforeeditfocus();
11862
11863     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
11864     void onlayoutcomplete();
11865
11866     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
11867     void onpage();
11868
11869     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
11870     VARIANT_BOOL onbeforedeactivate();
11871
11872     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
11873     VARIANT_BOOL onbeforeactivate();
11874
11875     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
11876     void onmove();
11877
11878     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
11879     VARIANT_BOOL oncontrolselect();
11880
11881     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
11882     VARIANT_BOOL onmovestart();
11883
11884     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
11885     void onmoveend();
11886
11887     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
11888     VARIANT_BOOL onresizestart();
11889
11890     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
11891     void onresizeend();
11892
11893     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
11894     void onmouseenter();
11895
11896     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
11897     void onmouseleave();
11898
11899     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
11900     VARIANT_BOOL onmousewheel();
11901
11902     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
11903     void onactivate();
11904
11905     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
11906     void ondeactivate();
11907
11908     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
11909     void onfocusin();
11910
11911     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
11912     void onfocusout();
11913
11914     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
11915     void onchange();
11916
11917     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
11918     void onselect();
11919 };
11920
11921 /*****************************************************************************
11922  *    IHTMLDocument interface
11923  */
11924 [
11925     odl,
11926     oleautomation,
11927     dual,
11928     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
11929 ]
11930 interface IHTMLDocument : IDispatch
11931 {
11932     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
11933     HRESULT Script([retval, out] IDispatch **p);
11934 }
11935
11936 /*****************************************************************************
11937  *    IHTMLDocument2 interface
11938  */
11939 [
11940     odl,
11941     oleautomation,
11942     dual,
11943     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
11944 ]
11945 interface IHTMLDocument2 : IHTMLDocument
11946 {
11947     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
11948     HRESULT all([retval, out] IHTMLElementCollection **p);
11949
11950     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
11951     HRESULT body([retval, out] IHTMLElement **p);
11952
11953     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
11954     HRESULT activeElement([retval, out] IHTMLElement **p);
11955
11956     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
11957     HRESULT images([retval, out] IHTMLElementCollection **p);
11958
11959     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
11960     HRESULT applets([retval, out] IHTMLElementCollection **p);
11961
11962     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
11963     HRESULT links([retval, out] IHTMLElementCollection **p);
11964
11965     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
11966     HRESULT forms([retval, out] IHTMLElementCollection **p);
11967
11968     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
11969     HRESULT anchors([retval, out] IHTMLElementCollection **p);
11970
11971     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11972     HRESULT title([in] BSTR v);
11973
11974     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
11975     HRESULT title([retval, out] BSTR *p);
11976
11977     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
11978     HRESULT scripts([retval, out] IHTMLElementCollection **p);
11979
11980     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11981     HRESULT designMode([in] BSTR v);
11982
11983     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
11984     HRESULT designMode([retval, out] BSTR *p);
11985
11986     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
11987     HRESULT selection([retval, out] IHTMLSelectionObject **p);
11988
11989     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
11990      HRESULT readyState([retval, out] BSTR *p);
11991
11992     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
11993     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
11994
11995     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
11996     HRESULT embeds([retval, out] IHTMLElementCollection **p);
11997
11998     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
11999     HRESULT plugins([retval, out] IHTMLElementCollection **p);
12000
12001     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12002     HRESULT alinkColor([in] VARIANT v);
12003
12004     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12005     HRESULT alinkColor([retval, out] VARIANT *p);
12006
12007     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12008     HRESULT bgColor([in] VARIANT v);
12009
12010     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12011     HRESULT bgColor([retval, out] VARIANT *p);
12012
12013     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12014     HRESULT fgColor([in] VARIANT v);
12015
12016     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12017     HRESULT fgColor([retval, out] VARIANT *p);
12018
12019     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12020     HRESULT linkColor([in] VARIANT v);
12021
12022     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12023     HRESULT linkColor([retval, out] VARIANT *p);
12024
12025     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12026     HRESULT vlinkColor([in] VARIANT v);
12027
12028     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12029     HRESULT vlinkColor([retval, out] VARIANT *p);
12030
12031     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12032     HRESULT referrer([retval, out] BSTR *p);
12033
12034     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12035     HRESULT location([retval, out] IHTMLLocation **p);
12036
12037     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12038     HRESULT lastModified([retval, out] BSTR *p);
12039
12040     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12041     HRESULT URL([in] BSTR v);
12042
12043     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12044     HRESULT URL([retval, out] BSTR *p);
12045
12046     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12047     HRESULT domain([in] BSTR v);
12048
12049     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12050     HRESULT domain([retval, out] BSTR *p);
12051
12052     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12053     HRESULT cookie([in] BSTR v);
12054
12055     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12056     HRESULT cookie([retval, out] BSTR *p);
12057
12058     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12059     HRESULT expando([in] VARIANT_BOOL v);
12060
12061     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
12062     HRESULT expando([retval, out] VARIANT_BOOL *p);
12063
12064     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12065      HRESULT charset([in] BSTR v);
12066
12067     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
12068     HRESULT charset([retval, out] BSTR *p);
12069
12070     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12071     HRESULT defaultCharset([in] BSTR v);
12072
12073     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12074     HRESULT defaultCharset([retval, out] BSTR *p);
12075
12076     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12077     HRESULT mimeType([retval, out] BSTR *p);
12078
12079     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12080     HRESULT fileSize([retval, out] BSTR *p);
12081
12082     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12083     HRESULT fileCreatedDate([retval, out] BSTR *p);
12084
12085     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12086     HRESULT fileModifiedDate([retval, out] BSTR *p);
12087
12088     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12089     HRESULT fileUpdatedDate([retval, out] BSTR *p);
12090
12091     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12092     HRESULT security([retval, out] BSTR *p);
12093
12094     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12095     HRESULT protocol([retval, out] BSTR *p);
12096
12097     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12098      HRESULT nameProp([retval, out] BSTR *p);
12099
12100     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12101     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
12102
12103     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12104     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
12105
12106     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12107     HRESULT open(
12108         [defaultvalue("text/html"), in] BSTR url,
12109         [optional, in] VARIANT name,
12110         [optional, in] VARIANT features,
12111         [optional, in] VARIANT replace,
12112         [retval, out]  IDispatch **pomWindowResult);
12113
12114     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12115     HRESULT close();
12116
12117     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12118     HRESULT clear();
12119
12120     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12121     HRESULT queryCommandSupported(
12122         [in] BSTR cmdID,
12123         [retval, out] VARIANT_BOOL *pfRet);
12124
12125     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12126     HRESULT queryCommandEnabled(
12127         [in] BSTR cmdID,
12128         [retval, out] VARIANT_BOOL *pfRet);
12129
12130     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12131     HRESULT queryCommandState(
12132         [in] BSTR cmdID,
12133         [retval, out] VARIANT_BOOL *pfRet);
12134
12135     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12136     HRESULT queryCommandIndeterm(
12137         [in] BSTR cmdID,
12138         [retval, out] VARIANT_BOOL *pfRet);
12139
12140     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12141     HRESULT queryCommandText(
12142         [in] BSTR cmdID,
12143         [retval, out] BSTR *pcmdText);
12144
12145     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12146     HRESULT queryCommandValue(
12147         [in] BSTR cmdID,
12148         [retval, out] VARIANT *pcmdValue);
12149
12150     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12151     HRESULT execCommand(
12152         [in] BSTR cmdID,
12153         [defaultvalue(0), in] VARIANT_BOOL showUI,
12154         [optional, in] VARIANT value,
12155         [retval, out] VARIANT_BOOL *pfRet);
12156
12157     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12158     HRESULT execCommandShowHelp(
12159         [in] BSTR cmdID,
12160         [retval, out] VARIANT_BOOL *pfRet);
12161
12162     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12163      HRESULT createElement(
12164         [in] BSTR eTag,
12165         [retval, out] IHTMLElement **newElem);
12166
12167     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12168     HRESULT onhelp([in] VARIANT v);
12169
12170     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
12171     HRESULT onhelp([retval, out] VARIANT *p);
12172
12173     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12174     HRESULT onclick([in] VARIANT v);
12175
12176     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
12177     HRESULT onclick([retval, out] VARIANT *p);
12178
12179     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12180     HRESULT ondblclick([in] VARIANT v);
12181
12182     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
12183     HRESULT ondblclick([retval, out] VARIANT *p);
12184
12185     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12186     HRESULT onkeyup([in] VARIANT v);
12187
12188     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
12189     HRESULT onkeyup([retval, out] VARIANT *p);
12190
12191     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12192     HRESULT onkeydown([in] VARIANT v);
12193
12194     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
12195     HRESULT onkeydown([retval, out] VARIANT *p);
12196
12197     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12198      HRESULT onkeypress([in] VARIANT v);
12199
12200     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
12201     HRESULT onkeypress([retval, out] VARIANT *p);
12202
12203     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12204     HRESULT onmouseup([in] VARIANT v);
12205
12206     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
12207     HRESULT onmouseup([retval, out] VARIANT *p);
12208
12209     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12210     HRESULT onmousedown([in] VARIANT v);
12211
12212     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
12213     HRESULT onmousedown([retval, out] VARIANT *p);
12214
12215     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12216     HRESULT onmousemove([in] VARIANT v);
12217
12218     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
12219     HRESULT onmousemove([retval, out] VARIANT *p);
12220
12221     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12222     HRESULT onmouseout([in] VARIANT v);
12223
12224     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
12225     HRESULT onmouseout([retval, out] VARIANT *p);
12226
12227     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12228     HRESULT onmouseover([in] VARIANT v);
12229
12230     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
12231     HRESULT onmouseover([retval, out] VARIANT *p);
12232
12233     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12234     HRESULT onreadystatechange([in] VARIANT v);
12235
12236     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
12237     HRESULT onreadystatechange([retval, out] VARIANT *p);
12238
12239     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12240     HRESULT onafterupdate([in] VARIANT v);
12241
12242     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
12243     HRESULT onafterupdate([retval, out] VARIANT *p);
12244
12245     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12246     HRESULT onrowexit([in] VARIANT v);
12247
12248     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
12249     HRESULT onrowexit([retval, out] VARIANT *p);
12250
12251     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12252     HRESULT onrowenter([in] VARIANT v);
12253
12254     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
12255     HRESULT onrowenter([retval, out] VARIANT *p);
12256
12257     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12258     HRESULT ondragstart([in] VARIANT v);
12259
12260     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
12261     HRESULT ondragstart([retval, out] VARIANT *p);
12262
12263     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12264     HRESULT onselectstart([in] VARIANT v);
12265
12266     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
12267     HRESULT onselectstart([retval, out] VARIANT *p);
12268
12269     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12270     HRESULT elementFromPoint(
12271         [in] long x,
12272         [in] long y,
12273         [retval, out] IHTMLElement **elementHit);
12274
12275     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12276     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
12277
12278     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12279     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
12280
12281     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12282     HRESULT onbeforeupdate([in] VARIANT v);
12283
12284     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
12285     HRESULT onbeforeupdate([retval, out] VARIANT *p);
12286
12287     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12288     HRESULT onerrorupdate([in] VARIANT v);
12289
12290     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
12291     HRESULT onerrorupdate([retval, out] VARIANT *p);
12292
12293     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12294     HRESULT toString([retval, out] BSTR *String);
12295
12296     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12297     HRESULT createStyleSheet(
12298         [defaultvalue(""), in] BSTR bstrHref,
12299         [defaultvalue(-1), in] long lIndex,
12300         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
12301 }
12302
12303 /*****************************************************************************
12304  *    IHTMLDocument3 interface
12305  */
12306 [
12307     odl,
12308     oleautomation,
12309     dual,
12310     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
12311 ]
12312 interface IHTMLDocument3 : IDispatch
12313 {
12314     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12315     HRESULT releaseCapture();
12316
12317     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12318     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12319
12320     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12321     HRESULT createTextNode(
12322         [in] BSTR text,
12323         [retval, out] IHTMLDOMNode **newTextNode);
12324
12325     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12326     HRESULT documentElement([retval, out] IHTMLElement **p);
12327
12328     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12329     HRESULT uniqueID([retval, out] BSTR *p);
12330
12331     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12332     HRESULT attachEvent(
12333         [in] BSTR event,
12334         [in] IDispatch* pDisp,
12335         [retval, out] VARIANT_BOOL *pfResult);
12336
12337     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12338     HRESULT detachEvent(
12339         [in] BSTR event,
12340         [in] IDispatch *pDisp);
12341
12342     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12343     HRESULT onrowsdelete([in] VARIANT v);
12344
12345     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12346     HRESULT onrowsdelete([retval, out] VARIANT *p);
12347
12348     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12349     HRESULT onrowsinserted([in] VARIANT v);
12350
12351     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12352     HRESULT onrowsinserted([retval, out] VARIANT *p);
12353
12354     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12355     HRESULT oncellchange([in] VARIANT v);
12356
12357     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12358     HRESULT oncellchange([retval, out] VARIANT *p);
12359
12360     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12361     HRESULT ondatasetchanged([in] VARIANT v);
12362
12363     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12364     HRESULT ondatasetchanged([retval, out] VARIANT *p);
12365
12366     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12367     HRESULT ondataavailable([in] VARIANT v);
12368
12369     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12370     HRESULT ondataavailable([retval, out] VARIANT * p);
12371
12372     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12373     HRESULT ondatasetcomplete([in] VARIANT v);
12374
12375     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12376     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
12377
12378     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12379     HRESULT onpropertychange([in] VARIANT v);
12380
12381     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12382     HRESULT onpropertychange([retval, out] VARIANT *p);
12383
12384     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
12385     HRESULT dir([in] BSTR v);
12386
12387     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
12388     HRESULT dir([retval, out] BSTR *p);
12389
12390     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12391     HRESULT oncontextmenu([in] VARIANT v);
12392
12393     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
12394     HRESULT oncontextmenu([retval, out] VARIANT *p);
12395
12396     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12397     HRESULT onstop([in] VARIANT v);
12398
12399     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
12400     HRESULT onstop([retval, out] VARIANT *p);
12401
12402     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
12403     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
12404
12405     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
12406     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
12407
12408     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12409     HRESULT enableDownload([in] VARIANT_BOOL v);
12410
12411     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
12412     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
12413
12414     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12415     HRESULT baseUrl([in] BSTR v);
12416
12417     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
12418     HRESULT baseUrl([retval, out] BSTR *p);
12419
12420     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
12421     HRESULT childNodes([retval, out] IDispatch **p);
12422
12423     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12424     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
12425
12426     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
12427     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
12428
12429     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12430     HRESULT onbeforeeditfocus([in] VARIANT v);
12431
12432     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
12433     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
12434
12435     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
12436     HRESULT getElementsByName(
12437         [in] BSTR v,
12438         [retval, out] IHTMLElementCollection **pelColl);
12439
12440     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
12441     HRESULT getElementById(
12442         [in] BSTR v,
12443         [retval, out] IHTMLElement **pel);
12444
12445     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
12446     HRESULT getElementsByTagName(
12447         [in] BSTR v,
12448         [retval, out] IHTMLElementCollection **pelColl);
12449 }
12450
12451 /*****************************************************************************
12452  *    IHTMLDocument4 interface
12453  */
12454 [
12455     odl,
12456     oleautomation,
12457     dual,
12458     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
12459 ]
12460 interface IHTMLDocument4 : IDispatch
12461 {
12462     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
12463     HRESULT focus();
12464
12465     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
12466     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
12467
12468     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12469     HRESULT onselectionchange([in] VARIANT v);
12470
12471     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
12472     HRESULT onselectionchange([retval, out] VARIANT *p);
12473
12474     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
12475     HRESULT namespaces([retval, out] IDispatch **p);
12476
12477     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
12478     HRESULT createDocumentFromUrl(
12479         [in] BSTR bstrUrl,
12480         [in] BSTR bstrOptions,
12481         [retval, out] IHTMLDocument2 **newDoc);
12482
12483     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12484     HRESULT media([in] BSTR v);
12485
12486     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
12487     HRESULT media([retval, out] BSTR *p);
12488
12489     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
12490     HRESULT createEventObject(
12491         [optional, in] VARIANT *pvarEventObject,
12492         [retval, out] IHTMLEventObj **ppEventObj);
12493
12494     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
12495     HRESULT fireEvent(
12496         [in] BSTR bstrEventName,
12497         [optional, in] VARIANT *pvarEventObject,
12498         [retval, out] VARIANT_BOOL *pfCancelled);
12499
12500     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
12501     HRESULT createRenderStyle(
12502         [in] BSTR v,
12503         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
12504
12505     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12506     HRESULT oncontrolselect([in] VARIANT v);
12507
12508     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
12509     HRESULT oncontrolselect([retval, out] VARIANT *p);
12510
12511     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
12512     HRESULT URLUnencoded([retval, out] BSTR *p);
12513 }
12514
12515 /*****************************************************************************
12516  *    IHTMLDocument5 interface
12517  */
12518 [
12519     odl,
12520     oleautomation,
12521     dual,
12522     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
12523 ]
12524 interface IHTMLDocument5 : IDispatch
12525 {
12526     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12527     HRESULT onmousewheel([in] VARIANT v);
12528
12529     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
12530     HRESULT onmousewheel([retval, out] VARIANT *p);
12531
12532     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
12533     HRESULT doctype([retval, out] IHTMLDOMNode **p);
12534
12535     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
12536     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
12537
12538     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
12539     HRESULT createAttribute(
12540         [in] BSTR bstrattrName,
12541         [retval, out] IHTMLDOMAttribute **ppattribute);
12542
12543     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
12544     HRESULT createComment(
12545         [in] BSTR bstrdata,
12546         [retval, out] IHTMLDOMNode **ppRetNode);
12547
12548     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12549     HRESULT onfocusin([in] VARIANT v);
12550
12551     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
12552     HRESULT onfocusin([retval, out] VARIANT *p);
12553
12554     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12555     HRESULT onfocusout([in] VARIANT v);
12556
12557     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
12558     HRESULT onfocusout([retval, out] VARIANT *p);
12559
12560     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12561     HRESULT onactivate([in] VARIANT v);
12562
12563     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
12564     HRESULT onactivate([retval, out] VARIANT *p);
12565
12566     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12567     HRESULT ondeactivate([in] VARIANT v);
12568
12569     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
12570     HRESULT ondeactivate([retval, out] VARIANT *p);
12571
12572     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12573     HRESULT onbeforeactivate([in] VARIANT v);
12574
12575     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
12576     HRESULT onbeforeactivate([retval, out] VARIANT *p);
12577
12578     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12579     HRESULT onbeforedeactivate([in] VARIANT v);
12580
12581     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
12582     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
12583
12584     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
12585     HRESULT compatMode([retval, out] BSTR *p);
12586 }
12587
12588 /*****************************************************************************
12589  *    DispHTMLDocument dispinterface
12590  */
12591 [
12592     hidden,
12593     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
12594 ]
12595 dispinterface DispHTMLDocument
12596 {
12597 properties:
12598 methods:
12599     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
12600     IDispatch *Script();
12601
12602     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
12603     IHTMLElementCollection *all();
12604
12605     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
12606     IHTMLElement *body();
12607
12608     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
12609     IHTMLElement *activeElement();
12610
12611     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
12612     IHTMLElementCollection *images();
12613
12614     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
12615     IHTMLElementCollection *applets();
12616
12617     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
12618     IHTMLElementCollection *links();
12619
12620     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
12621     IHTMLElementCollection *forms();
12622
12623     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
12624     IHTMLElementCollection *anchors();
12625
12626     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12627     void title(BSTR v);
12628
12629     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
12630     BSTR title();
12631
12632     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
12633     IHTMLElementCollection *scripts();
12634
12635     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
12636     void designMode(BSTR v);
12637
12638     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
12639     BSTR designMode();
12640
12641     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
12642     IHTMLSelectionObject *selection();
12643
12644     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
12645     BSTR readyState();
12646
12647     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
12648     IHTMLFramesCollection2 *frames();
12649
12650     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
12651     IHTMLElementCollection *embeds();
12652
12653     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
12654     IHTMLElementCollection *plugins();
12655
12656     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12657     void alinkColor(VARIANT v);
12658
12659     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
12660     VARIANT alinkColor();
12661
12662     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12663     void bgColor(VARIANT v);
12664
12665     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
12666     VARIANT bgColor();
12667
12668     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12669     void fgColor(VARIANT v);
12670
12671     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
12672     VARIANT fgColor();
12673
12674     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12675     void linkColor(VARIANT v);
12676
12677     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
12678     VARIANT linkColor();
12679
12680     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12681     void vlinkColor(VARIANT v);
12682
12683     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
12684     VARIANT vlinkColor();
12685
12686     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
12687     BSTR referrer();
12688
12689     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
12690     IHTMLLocation *location();
12691
12692     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
12693     BSTR lastModified();
12694
12695     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
12696     void URL(BSTR v);
12697
12698     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
12699     BSTR URL();
12700
12701     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12702     void domain(BSTR v);
12703
12704     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
12705     BSTR domain();
12706
12707     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12708     void cookie(BSTR v);
12709
12710     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
12711     BSTR cookie();
12712
12713     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
12714     void expando(VARIANT_BOOL v);
12715
12716     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
12717     VARIANT_BOOL expando();
12718
12719     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
12720     void charset(BSTR v);
12721
12722     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
12723     BSTR charset();
12724
12725     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12726     void defaultCharset(BSTR v);
12727
12728     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
12729     BSTR defaultCharset();
12730
12731     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
12732     BSTR mimeType();
12733
12734     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
12735     BSTR fileSize();
12736
12737     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
12738     BSTR fileCreatedDate();
12739
12740     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
12741     BSTR fileModifiedDate();
12742
12743     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
12744     BSTR fileUpdatedDate();
12745
12746     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
12747     BSTR security();
12748
12749     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
12750     BSTR protocol();
12751
12752     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
12753     BSTR nameProp();
12754
12755     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
12756     void write([in] SAFEARRAY(VARIANT) psarray);
12757
12758     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
12759     void writeln([in] SAFEARRAY(VARIANT) psarray);
12760
12761     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
12762     IDispatch *open(
12763         [defaultvalue("text/html"), in] BSTR url,
12764         [optional, in] VARIANT name,
12765         [optional, in] VARIANT features,
12766         [optional, in] VARIANT replace);
12767
12768     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
12769     void close();
12770
12771     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
12772     void clear();
12773
12774     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
12775     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
12776
12777     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
12778     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
12779
12780     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
12781     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
12782
12783     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
12784     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
12785
12786     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
12787     BSTR queryCommandText([in] BSTR cmdID);
12788
12789     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
12790     VARIANT queryCommandValue([in] BSTR cmdID);
12791
12792     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
12793     VARIANT_BOOL execCommand(
12794         [in] BSTR cmdID,
12795         [defaultvalue(0), in] VARIANT_BOOL showUI,
12796         [optional, in] VARIANT value);
12797
12798     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
12799     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
12800
12801     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
12802     IHTMLElement *createElement([in] BSTR eTag);
12803
12804     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12805     void onhelp(VARIANT v);
12806
12807     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
12808     VARIANT onhelp();
12809
12810     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12811     void onclick(VARIANT v);
12812
12813     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
12814     VARIANT onclick();
12815
12816     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12817     void ondblclick(VARIANT v);
12818
12819     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
12820     VARIANT ondblclick();
12821
12822     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12823     void onkeyup(VARIANT v);
12824
12825     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
12826     VARIANT onkeyup();
12827
12828     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12829     void onkeydown(VARIANT v);
12830
12831     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
12832     VARIANT onkeydown();
12833
12834     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12835     void onkeypress(VARIANT v);
12836
12837     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
12838     VARIANT onkeypress();
12839
12840     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12841     void onmouseup(VARIANT v);
12842
12843     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
12844     VARIANT onmouseup();
12845
12846     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12847     void onmousedown(VARIANT v);
12848
12849     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
12850     VARIANT onmousedown();
12851
12852     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12853     void onmousemove(VARIANT v);
12854
12855     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
12856     VARIANT onmousemove();
12857
12858     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12859     void onmouseout(VARIANT v);
12860
12861     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
12862     VARIANT onmouseout();
12863
12864     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12865     void onmouseover(VARIANT v);
12866
12867     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
12868     VARIANT onmouseover();
12869
12870     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12871     void onreadystatechange(VARIANT v);
12872
12873     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
12874     VARIANT onreadystatechange();
12875
12876     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12877     void onafterupdate(VARIANT v);
12878
12879     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
12880     VARIANT onafterupdate();
12881
12882     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12883     void onrowexit(VARIANT v);
12884
12885     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
12886     VARIANT onrowexit();
12887
12888     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12889     void onrowenter(VARIANT v);
12890
12891     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
12892     VARIANT onrowenter();
12893
12894     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12895     void ondragstart(VARIANT v);
12896
12897     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
12898     VARIANT ondragstart();
12899
12900     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12901     void onselectstart(VARIANT v);
12902
12903     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
12904     VARIANT onselectstart();
12905
12906     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
12907     IHTMLElement *elementFromPoint(
12908         [in] long x,
12909         [in] long y);
12910
12911     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
12912     IHTMLWindow2 *parentWindow();
12913
12914     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
12915     IHTMLStyleSheetsCollection *styleSheets();
12916
12917     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12918     void onbeforeupdate(VARIANT v);
12919
12920     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
12921     VARIANT onbeforeupdate();
12922
12923     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12924     void onerrorupdate(VARIANT v);
12925
12926     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
12927     VARIANT onerrorupdate();
12928
12929     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
12930     BSTR toString();
12931
12932     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
12933     IHTMLStyleSheet *createStyleSheet(
12934         [defaultvalue(""), in] BSTR bstrHref,
12935         [defaultvalue(-1), in] long lIndex);
12936
12937     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
12938     void releaseCapture();
12939
12940     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
12941     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
12942
12943     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
12944     IHTMLDOMNode *createTextNode([in] BSTR text);
12945
12946     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
12947     IHTMLElement *documentElement();
12948
12949     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
12950     BSTR uniqueID();
12951
12952     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
12953     VARIANT_BOOL attachEvent(
12954         [in] BSTR event,
12955         [in] IDispatch *pDisp);
12956
12957     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
12958     void detachEvent(
12959         [in] BSTR event,
12960         [in] IDispatch *pDisp);
12961
12962     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12963     void onrowsdelete(VARIANT v);
12964
12965     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
12966     VARIANT onrowsdelete();
12967
12968     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12969     void onrowsinserted(VARIANT v);
12970
12971     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
12972     VARIANT onrowsinserted();
12973
12974     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12975     void oncellchange(VARIANT v);
12976
12977     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
12978     VARIANT oncellchange();
12979
12980     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12981     void ondatasetchanged(VARIANT v);
12982
12983     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
12984     VARIANT ondatasetchanged();
12985
12986     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12987     void ondataavailable(VARIANT v);
12988
12989     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
12990     VARIANT ondataavailable();
12991
12992     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12993     void ondatasetcomplete(VARIANT v);
12994
12995     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
12996     VARIANT ondatasetcomplete();
12997
12998     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
12999     void onpropertychange(VARIANT v);
13000
13001     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
13002     VARIANT onpropertychange();
13003
13004     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
13005     void dir(BSTR v);
13006
13007     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
13008     BSTR dir();
13009
13010     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13011     void oncontextmenu(VARIANT v);
13012
13013     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
13014     VARIANT oncontextmenu();
13015
13016     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13017     void onstop(VARIANT v);
13018
13019     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
13020     VARIANT onstop();
13021
13022     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
13023     IHTMLDocument2 *createDocumentFragment();
13024
13025     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
13026     IHTMLDocument2 *parentDocument();
13027
13028     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13029     void enableDownload(VARIANT_BOOL v);
13030
13031     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
13032     VARIANT_BOOL enableDownload();
13033
13034     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13035     void baseUrl(BSTR v);
13036
13037     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
13038     BSTR baseUrl();
13039
13040     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13041     void inheritStyleSheets(VARIANT_BOOL v);
13042
13043     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
13044     VARIANT_BOOL inheritStyleSheets();
13045
13046     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13047     void onbeforeeditfocus(VARIANT v);
13048
13049     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
13050     VARIANT onbeforeeditfocus();
13051
13052     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
13053     IHTMLElementCollection *getElementsByName([in] BSTR v);
13054
13055     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
13056     IHTMLElement *getElementById([in] BSTR v);
13057
13058     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
13059     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
13060
13061     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
13062     void focus();
13063
13064     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
13065     VARIANT_BOOL hasFocus();
13066
13067     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13068     void onselectionchange(VARIANT v);
13069
13070     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
13071     VARIANT onselectionchange();
13072
13073     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
13074     IDispatch *namespaces();
13075
13076     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
13077     IHTMLDocument2 *createDocumentFromUrl(
13078         [in] BSTR bstrUrl,
13079         [in] BSTR bstrOptions);
13080
13081     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13082     void media(BSTR v);
13083
13084     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
13085     BSTR media();
13086
13087     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
13088     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
13089
13090     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
13091     VARIANT_BOOL fireEvent(
13092         [in] BSTR bstrEventName,
13093         [optional, in] VARIANT *pvarEventObject);
13094
13095     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
13096     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
13097
13098     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13099     void oncontrolselect(VARIANT v);
13100
13101     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
13102     VARIANT oncontrolselect();
13103
13104     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
13105     BSTR URLUnencoded();
13106
13107     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13108     void onmousewheel(VARIANT v);
13109
13110     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
13111     VARIANT onmousewheel();
13112
13113     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
13114     IHTMLDOMNode *doctype();
13115
13116     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
13117     IHTMLDOMImplementation *implementation();
13118
13119     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
13120     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
13121
13122     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
13123     IHTMLDOMNode *createComment([in] BSTR bstrdata);
13124
13125     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13126     void onfocusin(VARIANT v);
13127
13128     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
13129     VARIANT onfocusin();
13130
13131     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13132     void onfocusout(VARIANT v);
13133
13134     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
13135     VARIANT onfocusout();
13136
13137     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13138     void onactivate(VARIANT v);
13139
13140     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
13141     VARIANT onactivate();
13142
13143     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13144     void ondeactivate(VARIANT v);
13145
13146     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
13147     VARIANT ondeactivate();
13148
13149     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13150     void onbeforeactivate(VARIANT v);
13151
13152     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
13153     VARIANT onbeforeactivate();
13154
13155     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13156     void onbeforedeactivate(VARIANT v);
13157
13158     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
13159     VARIANT onbeforedeactivate();
13160
13161     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
13162     BSTR compatMode();
13163
13164     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
13165     long nodeType();
13166
13167     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
13168     IHTMLDOMNode *parentNode();
13169
13170     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
13171     VARIANT_BOOL hasChildNodes();
13172
13173     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
13174     IDispatch *childNodes();
13175
13176     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
13177     IDispatch *attributes();
13178
13179     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
13180     IHTMLDOMNode *insertBefore(
13181         [in] IHTMLDOMNode *newChild,
13182         [optional, in] VARIANT refChild);
13183
13184     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
13185     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
13186
13187     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
13188     IHTMLDOMNode *replaceChild(
13189         [in] IHTMLDOMNode *newChild,
13190         [in] IHTMLDOMNode *oldChild);
13191
13192     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
13193     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
13194
13195     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
13196     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
13197
13198     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
13199     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
13200
13201     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
13202     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
13203
13204     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
13205     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
13206
13207     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
13208     BSTR nodeName();
13209
13210     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
13211     void nodeValue(VARIANT v);
13212
13213     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
13214     VARIANT nodeValue();
13215
13216     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
13217     IHTMLDOMNode *firstChild();
13218
13219     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
13220     IHTMLDOMNode *lastChild();
13221
13222     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
13223     IHTMLDOMNode *previousSibling();
13224
13225     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
13226     IHTMLDOMNode *nextSibling();
13227
13228     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
13229     IDispatch *ownerDocument();
13230 }
13231
13232 /*****************************************************************************
13233  *    HTMLDocument coclass
13234  */
13235 [
13236     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
13237 ]
13238 coclass HTMLDocument
13239 {
13240     [default]         dispinterface DispHTMLDocument;
13241     [source, default] dispinterface HTMLDocumentEvents;
13242     [source]          dispinterface HTMLDocumentEvents2;
13243                       interface IHTMLDocument2;
13244                       interface IHTMLDocument3;
13245                       interface IHTMLDocument4;
13246                       interface IHTMLDocument5;
13247                       interface IHTMLDOMNode;
13248                       interface IHTMLDOMNode2;
13249 }
13250
13251 /*****************************************************************************
13252  *    IHTMLCommentElement interface
13253  */
13254 [
13255     odl,
13256     oleautomation,
13257     dual,
13258     uuid(3050f20c-98b5-11cf-bb82-00aa00bdce0b)
13259 ]
13260 interface IHTMLCommentElement : IDispatch
13261 {
13262     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13263     HRESULT text([in] BSTR v);
13264
13265     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
13266     HRESULT text([out, retval] BSTR *p);
13267
13268     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13269     HRESULT atomic([in] long v);
13270
13271     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
13272     HRESULT atomic([out, retval] long *p);
13273 }
13274
13275 /*****************************************************************************
13276  *    IHTMLCommentElement2 interface
13277  */
13278 [
13279     odl,
13280     oleautomation,
13281     dual,
13282     uuid(3050f813-98b5-11cf-bb82-00aa00bdce0b)
13283 ]
13284 interface IHTMLCommentElement2 : IDispatch
13285 {
13286     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13287     HRESULT data([in] BSTR v);
13288
13289     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
13290     HRESULT data([out, retval] BSTR *p);
13291
13292     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
13293     HRESULT length([out, retval] long *p);
13294
13295     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
13296     HRESULT substringData(
13297             [in] long offset,
13298             [in] long Count,
13299             [out, retval] BSTR *pbstrsubString);
13300
13301     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
13302     HRESULT appendData([in] BSTR bstrstring);
13303
13304     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
13305     HRESULT insertData(
13306             [in] long offset,
13307             [in] BSTR bstrstring);
13308
13309     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
13310     HRESULT deleteData(
13311             [in] long offset,
13312             [in] long Count);
13313
13314     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
13315     HRESULT replaceData(
13316             [in] long offset,
13317             [in] long Count,
13318             [in] BSTR bstrstring);
13319 }
13320
13321 /*****************************************************************************
13322  *    DispHTMLCommentElement dispinterface
13323  */
13324 [
13325     hidden,
13326     uuid(3050f50a-98b5-11cf-bb82-00aa00bdce0b)
13327 ]
13328 dispinterface DispHTMLCommentElement
13329 {
13330 properties:
13331 methods:
13332     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
13333     void setAttribute(
13334             [in] BSTR strAttributeName,
13335             [in] VARIANT AttributeValue,
13336             [in, defaultvalue(1)] LONG lFlags);
13337
13338     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
13339     VARIANT getAttribute(
13340              [in] BSTR strAttributeName,
13341              [in, defaultvalue(0)] LONG lFlags);
13342
13343     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
13344     VARIANT_BOOL removeAttribute(
13345             [in] BSTR strAttributeName,
13346             [in, defaultvalue(1)] LONG lFlags);
13347
13348     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
13349     void className(BSTR v);
13350
13351     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
13352     BSTR className();
13353
13354     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
13355     void id(BSTR v);
13356
13357     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
13358     BSTR id();
13359
13360     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
13361     BSTR tagName();
13362
13363     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
13364     IHTMLElement *parentElement();
13365
13366     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
13367     IHTMLStyle *style();
13368
13369     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
13370     void onhelp(VARIANT v);
13371
13372     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
13373     VARIANT onhelp();
13374
13375     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
13376     void onclick(VARIANT v);
13377
13378     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
13379     VARIANT onclick();
13380
13381     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
13382     void ondblclick(VARIANT v);
13383
13384     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
13385     VARIANT ondblclick();
13386
13387     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
13388     void onkeydown(VARIANT v);
13389
13390     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
13391     VARIANT onkeydown();
13392
13393     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
13394     void onkeyup(VARIANT v);
13395
13396     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
13397     VARIANT onkeyup();
13398
13399     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
13400     void onkeypress(VARIANT v);
13401
13402     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
13403     VARIANT onkeypress();
13404
13405     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
13406     void onmouseout(VARIANT v);
13407
13408     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
13409     VARIANT onmouseout();
13410
13411     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
13412     void onmouseover(VARIANT v);
13413
13414     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
13415     VARIANT onmouseover();
13416
13417     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
13418     void onmousemove(VARIANT v);
13419
13420     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
13421     VARIANT onmousemove();
13422
13423     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
13424     void onmousedown(VARIANT v);
13425
13426     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
13427     VARIANT onmousedown();
13428
13429     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
13430     void onmouseup(VARIANT v);
13431
13432     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
13433     VARIANT onmouseup();
13434
13435     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
13436     IDispatch *document();
13437
13438     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
13439     void title(BSTR v);
13440
13441     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
13442     BSTR title();
13443
13444     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
13445     void language(BSTR v);
13446
13447     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
13448     BSTR language();
13449
13450     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
13451     void onselectstart(VARIANT v);
13452
13453     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
13454     VARIANT onselectstart();
13455
13456     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
13457     void scrollIntoView([in, optional] VARIANT varargStart);
13458
13459     [id(DISPID_IHTMLELEMENT_CONTAINS)]
13460     VARIANT_BOOL contains([in] IHTMLElement *pChild);
13461
13462     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
13463     long sourceIndex();
13464
13465     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
13466     VARIANT recordNumber();
13467
13468     [propput, id(DISPID_IHTMLELEMENT_LANG)]
13469     void lang(BSTR v);
13470
13471     [propget, id(DISPID_IHTMLELEMENT_LANG)]
13472     BSTR lang();
13473
13474     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
13475     long offsetLeft();
13476
13477     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
13478     long offsetTop();
13479
13480     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
13481     long offsetWidth();
13482
13483     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
13484     long offsetHeight();
13485
13486     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
13487     IHTMLElement *offsetParent();
13488
13489     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
13490     void innerHTML(BSTR v);
13491
13492     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
13493     BSTR innerHTML();
13494
13495     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
13496     void innerText(BSTR v);
13497
13498     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
13499     BSTR innerText();
13500
13501     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
13502     void outerHTML(BSTR v);
13503
13504     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
13505     BSTR outerHTML();
13506
13507     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
13508     void outerText(BSTR v);
13509
13510     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
13511     BSTR outerText();
13512
13513     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
13514     void insertAdjacentHTML(
13515             [in] BSTR where,
13516             [in] BSTR html);
13517
13518     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
13519     void insertAdjacentText(
13520             [in] BSTR where,
13521             [in] BSTR text);
13522
13523     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
13524     IHTMLElement *parentTextEdit();
13525
13526     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
13527     VARIANT_BOOL isTextEdit();
13528
13529     [id(DISPID_IHTMLELEMENT_CLICK)]
13530     void click();
13531
13532     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
13533     IHTMLFiltersCollection *filters();
13534
13535     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
13536     void ondragstart(VARIANT v);
13537
13538     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
13539     VARIANT ondragstart();
13540
13541     [id(DISPID_IHTMLELEMENT_TOSTRING)]
13542     BSTR toString();
13543
13544     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
13545     void onbeforeupdate(VARIANT v);
13546
13547     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
13548     VARIANT onbeforeupdate();
13549
13550     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
13551     void onafterupdate(VARIANT v);
13552
13553     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
13554     VARIANT onafterupdate();
13555
13556     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
13557     void onerrorupdate(VARIANT v);
13558
13559     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
13560     VARIANT onerrorupdate();
13561
13562     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
13563     void onrowexit(VARIANT v);
13564
13565     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
13566     VARIANT onrowexit();
13567
13568     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
13569     void onrowenter(VARIANT v);
13570
13571     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
13572     VARIANT onrowenter();
13573
13574     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
13575     void ondatasetchanged(VARIANT v);
13576
13577     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
13578     VARIANT ondatasetchanged();
13579
13580     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
13581     void ondataavailable(VARIANT v);
13582
13583     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
13584     VARIANT ondataavailable();
13585
13586     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
13587     void ondatasetcomplete(VARIANT v);
13588
13589     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
13590     VARIANT ondatasetcomplete();
13591
13592     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
13593     void onfilterchange(VARIANT v);
13594
13595     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
13596     VARIANT onfilterchange();
13597
13598     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
13599     IDispatch *children();
13600
13601     [propget, id(DISPID_IHTMLELEMENT_ALL)]
13602     IDispatch *all();
13603
13604     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
13605     BSTR scopeName();
13606
13607     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
13608     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
13609
13610     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
13611     void releaseCapture();
13612
13613     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
13614     void onlosecapture(VARIANT v);
13615
13616     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
13617     VARIANT onlosecapture();
13618
13619     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
13620     BSTR componentFromPoint(
13621             [in] long x,
13622             [in] long y);
13623
13624     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
13625     void doScroll([in, optional] VARIANT component);
13626
13627     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
13628     void onscroll(VARIANT v);
13629
13630     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
13631     VARIANT onscroll();
13632
13633     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
13634     void ondrag(VARIANT v);
13635
13636     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
13637     VARIANT ondrag();
13638
13639     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
13640     void ondragend(VARIANT v);
13641
13642     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
13643     VARIANT ondragend();
13644
13645     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
13646     void ondragenter(VARIANT v);
13647
13648     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
13649     VARIANT ondragenter();
13650
13651     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
13652     void ondragover(VARIANT v);
13653
13654     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
13655     VARIANT ondragover();
13656
13657     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
13658     void ondragleave(VARIANT v);
13659
13660     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
13661     VARIANT ondragleave();
13662
13663     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
13664     void ondrop(VARIANT v);
13665
13666     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
13667     VARIANT ondrop();
13668
13669     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
13670     void onbeforecut(VARIANT v);
13671
13672     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
13673     VARIANT onbeforecut();
13674
13675     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
13676     void oncut(VARIANT v);
13677
13678     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
13679     VARIANT oncut();
13680
13681     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
13682     void onbeforecopy(VARIANT v);
13683
13684     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
13685     VARIANT onbeforecopy();
13686
13687     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
13688     void oncopy(VARIANT v);
13689
13690     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
13691     VARIANT oncopy();
13692
13693     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
13694     void onbeforepaste(VARIANT v);
13695
13696     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
13697     VARIANT onbeforepaste();
13698
13699     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
13700     void onpaste(VARIANT v);
13701
13702     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
13703     VARIANT onpaste();
13704
13705     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
13706     IHTMLCurrentStyle *currentStyle();
13707
13708     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
13709     void onpropertychange(VARIANT v);
13710
13711     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
13712     VARIANT onpropertychange();
13713
13714     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
13715     IHTMLRectCollection *getClientRects();
13716
13717     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
13718     IHTMLRect *getBoundingClientRect();
13719
13720     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
13721     void setExpression(
13722             [in] BSTR propname,
13723             [in] BSTR expression,
13724             [in, defaultvalue("")] BSTR language);
13725
13726     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
13727     VARIANT getExpression([in] BSTR propname);
13728
13729     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
13730     VARIANT_BOOL removeExpression([in] BSTR propname);
13731
13732     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
13733     void tabIndex(short v);
13734
13735     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
13736     short tabIndex();
13737
13738     [id(DISPID_IHTMLELEMENT2_FOCUS)]
13739     void focus();
13740
13741     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
13742     void accessKey(BSTR v);
13743
13744     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
13745     BSTR accessKey();
13746
13747     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
13748     void onblur(VARIANT v);
13749
13750     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
13751     VARIANT onblur();
13752
13753     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
13754     void onfocus(VARIANT v);
13755
13756     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
13757     VARIANT onfocus();
13758
13759     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
13760     void onresize(VARIANT v);
13761
13762     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
13763     VARIANT onresize();
13764
13765     [id(DISPID_IHTMLELEMENT2_BLUR)]
13766     void blur();
13767
13768     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
13769     void addFilter([in] IUnknown *pUnk);
13770
13771     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
13772     void removeFilter([in] IUnknown *pUnk);
13773
13774     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
13775     long clientHeight();
13776
13777     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
13778     long clientWidth();
13779
13780     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
13781     long clientTop();
13782
13783     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
13784     long clientLeft();
13785
13786     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
13787     VARIANT_BOOL attachEvent(
13788             [in] BSTR event,
13789             [in] IDispatch *pDisp);
13790
13791     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
13792     void detachEvent(
13793             [in] BSTR event,
13794             [in] IDispatch *pDisp);
13795
13796     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
13797     VARIANT readyState();
13798
13799     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13800     void onreadystatechange(VARIANT v);
13801
13802     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
13803     VARIANT onreadystatechange();
13804
13805     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
13806     void onrowsdelete(VARIANT v);
13807
13808     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
13809     VARIANT onrowsdelete();
13810
13811     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
13812     void onrowsinserted(VARIANT v);
13813
13814     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
13815      VARIANT onrowsinserted();
13816
13817     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
13818      void oncellchange(VARIANT v);
13819
13820     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
13821     VARIANT oncellchange();
13822
13823     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
13824     void dir(BSTR v);
13825
13826     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
13827     BSTR dir();
13828
13829     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
13830     IDispatch *createControlRange();
13831
13832     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
13833     long scrollHeight();
13834
13835     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
13836     long scrollWidth();
13837
13838     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
13839     void scrollTop(long v);
13840
13841     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
13842     long scrollTop();
13843
13844     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
13845     void scrollLeft(long v);
13846
13847     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
13848     long scrollLeft();
13849
13850     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
13851     void clearAttributes();
13852
13853     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
13854     void oncontextmenu(VARIANT v);
13855
13856     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
13857     VARIANT oncontextmenu();
13858
13859     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
13860     IHTMLElement *insertAdjacentElement(
13861             [in] BSTR where,
13862             [in] IHTMLElement *insertedElement);
13863
13864     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
13865     IHTMLElement *applyElement(
13866             [in] IHTMLElement *apply,
13867             [in] BSTR where);
13868
13869     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
13870     BSTR getAdjacentText([in] BSTR where);
13871
13872     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
13873     BSTR replaceAdjacentText(
13874             [in] BSTR where,
13875             [in] BSTR newText);
13876
13877     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
13878     VARIANT_BOOL canHaveChildren();
13879
13880     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
13881     long addBehavior(
13882             [in] BSTR bstrUrl,
13883             [in, optional] VARIANT *pvarFactory);
13884
13885     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
13886     VARIANT_BOOL removeBehavior([in] long cookie);
13887
13888     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
13889     IHTMLStyle *runtimeStyle();
13890
13891     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
13892     IDispatch *behaviorUrns();
13893
13894     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
13895     void tagUrn(BSTR v);
13896
13897     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
13898     BSTR tagUrn();
13899
13900     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
13901     void onbeforeeditfocus(VARIANT v);
13902
13903     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
13904     VARIANT onbeforeeditfocus();
13905
13906     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
13907     long readyStateValue();
13908
13909     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
13910     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
13911
13912     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
13913     void mergeAttributes(
13914             [in] IHTMLElement *mergeThis,
13915             [in, optional] VARIANT *pvarFlags);
13916
13917     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
13918     VARIANT_BOOL isMultiLine();
13919
13920     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
13921     VARIANT_BOOL canHaveHTML();
13922
13923     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
13924     void onlayoutcomplete(VARIANT v);
13925
13926     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
13927     VARIANT onlayoutcomplete();
13928
13929     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
13930     void onpage(VARIANT v);
13931
13932     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
13933     VARIANT onpage();
13934
13935     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
13936     void inflateBlock(VARIANT_BOOL v);
13937
13938     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
13939     VARIANT_BOOL inflateBlock();
13940
13941     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
13942     void onbeforedeactivate(VARIANT v);
13943
13944     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
13945     VARIANT onbeforedeactivate();
13946
13947     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
13948     void setActive();
13949
13950     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
13951     void contentEditable(BSTR v);
13952
13953     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
13954     BSTR contentEditable();
13955
13956     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
13957     VARIANT_BOOL isContentEditable();
13958
13959     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
13960     void hideFocus(VARIANT_BOOL v);
13961
13962     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
13963     VARIANT_BOOL hideFocus();
13964
13965     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
13966     void disabled(VARIANT_BOOL v);
13967
13968     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
13969     VARIANT_BOOL disabled();
13970
13971     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
13972     VARIANT_BOOL isDisabled();
13973
13974     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
13975     void onmove(VARIANT v);
13976
13977     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
13978     VARIANT onmove();
13979
13980     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
13981     void oncontrolselect(VARIANT v);
13982
13983     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
13984     VARIANT oncontrolselect();
13985
13986     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
13987     VARIANT_BOOL fireEvent(
13988             [in] BSTR bstrEventName,
13989             [in, optional] VARIANT *pvarEventObject);
13990
13991     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
13992     void onresizestart(VARIANT v);
13993
13994     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
13995     VARIANT onresizestart();
13996
13997     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
13998     void onresizeend(VARIANT v);
13999
14000     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
14001     VARIANT onresizeend();
14002
14003     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
14004     void onmovestart(VARIANT v);
14005
14006     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
14007     VARIANT onmovestart();
14008
14009     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
14010     void onmoveend(VARIANT v);
14011
14012     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
14013     VARIANT onmoveend();
14014
14015     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
14016     void onmouseenter(VARIANT v);
14017
14018     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
14019     VARIANT onmouseenter();
14020
14021     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
14022     void onmouseleave(VARIANT v);
14023
14024     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
14025     VARIANT onmouseleave();
14026
14027     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
14028     void onactivate(VARIANT v);
14029
14030     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
14031     VARIANT onactivate();
14032
14033     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
14034     void ondeactivate(VARIANT v);
14035
14036     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
14037     VARIANT ondeactivate();
14038
14039     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
14040     VARIANT_BOOL dragDrop();
14041
14042     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
14043     LONG glyphMode();
14044
14045     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
14046     void onmousewheel(VARIANT v);
14047
14048     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
14049     VARIANT onmousewheel();
14050
14051     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
14052     void normalize();
14053
14054     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
14055     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
14056
14057     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
14058     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
14059
14060     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
14061     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
14062
14063     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
14064     void onbeforeactivate(VARIANT v);
14065
14066     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
14067     VARIANT onbeforeactivate();
14068
14069     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
14070     void onfocusin(VARIANT v);
14071
14072     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
14073     VARIANT onfocusin();
14074
14075     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
14076     void onfocusout(VARIANT v);
14077
14078     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
14079     VARIANT onfocusout();
14080
14081     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
14082     long uniqueNumber();
14083
14084     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
14085     BSTR uniqueID();
14086
14087     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
14088     long nodeType();
14089
14090     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
14091     IHTMLDOMNode *parentNode();
14092
14093     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
14094     VARIANT_BOOL hasChildNodes();
14095
14096     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
14097     IDispatch *childNodes();
14098
14099     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
14100     IDispatch *attributes();
14101
14102     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
14103     IHTMLDOMNode *insertBefore(
14104             [in] IHTMLDOMNode *newChild,
14105             [in, optional] VARIANT refChild);
14106
14107     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
14108     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
14109
14110     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
14111     IHTMLDOMNode *replaceChild(
14112             [in] IHTMLDOMNode *newChild,
14113             [in] IHTMLDOMNode *oldChild);
14114
14115     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
14116     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
14117
14118     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
14119     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
14120
14121     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
14122     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
14123
14124     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
14125     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
14126
14127     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
14128     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
14129
14130     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
14131     BSTR nodeName();
14132
14133     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
14134     void nodeValue(VARIANT v);
14135
14136     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
14137     VARIANT nodeValue();
14138
14139     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
14140     IHTMLDOMNode *firstChild();
14141
14142     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
14143     IHTMLDOMNode *lastChild();
14144
14145     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
14146     IHTMLDOMNode *previousSibling();
14147
14148     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
14149     IHTMLDOMNode *nextSibling();
14150
14151     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
14152     IDispatch *ownerDocument();
14153
14154     [propput, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14155     void text(BSTR v);
14156
14157     [propget, id(DISPID_IHTMLCOMMENTELEMENT_TEXT), displaybind, bindable]
14158     BSTR text();
14159
14160     [propput, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14161     void atomic(long v);
14162
14163     [propget, id(DISPID_IHTMLCOMMENTELEMENT_ATOMIC), displaybind, bindable]
14164     long atomic();
14165
14166     [propput, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14167     void data(BSTR v);
14168
14169     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_DATA)]
14170     BSTR data();
14171
14172     [propget, id(DISPID_IHTMLCOMMENTELEMENT2_LENGTH)]
14173     long length();
14174
14175     [id(DISPID_IHTMLCOMMENTELEMENT2_SUBSTRINGDATA)]
14176     BSTR substringData(
14177             [in] long offset,
14178             [in] long Count);
14179
14180     [id(DISPID_IHTMLCOMMENTELEMENT2_APPENDDATA)]
14181     void appendData([in] BSTR bstrstring);
14182
14183     [id(DISPID_IHTMLCOMMENTELEMENT2_INSERTDATA)]
14184      void insertData(
14185             [in] long offset,
14186             [in] BSTR bstrstring);
14187
14188     [id(DISPID_IHTMLCOMMENTELEMENT2_DELETEDATA)]
14189     void deleteData(
14190             [in] long offset,
14191             [in] long Count);
14192
14193     [id(DISPID_IHTMLCOMMENTELEMENT2_REPLACEDATA)]
14194     void replaceData(
14195             [in] long offset,
14196             [in] long Count,
14197             [in] BSTR bstrstring);
14198 }
14199
14200 /*****************************************************************************
14201  *    HTMLTableEvents dispinterface
14202  */
14203 [
14204     hidden,
14205     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
14206 ]
14207 dispinterface HTMLTableEvents
14208 {
14209 properties:
14210 methods:
14211     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
14212     VARIANT_BOOL onhelp();
14213
14214     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
14215     VARIANT_BOOL onclick();
14216
14217     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
14218     VARIANT_BOOL ondblclick();
14219
14220     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
14221     VARIANT_BOOL onkeypress();
14222
14223     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
14224     void onkeydown();
14225
14226     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
14227     void onkeyup();
14228
14229     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
14230     void onmouseout();
14231
14232     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
14233     void onmouseover();
14234
14235     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
14236     void onmousemove();
14237
14238     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
14239     void onmousedown();
14240
14241     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
14242     void onmouseup();
14243
14244     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
14245     VARIANT_BOOL onselectstart();
14246
14247     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
14248     void onfilterchange();
14249
14250     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
14251     VARIANT_BOOL ondragstart();
14252
14253     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
14254     VARIANT_BOOL onbeforeupdate();
14255
14256     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
14257     void onafterupdate();
14258
14259     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
14260     VARIANT_BOOL onerrorupdate();
14261
14262     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
14263     VARIANT_BOOL onrowexit();
14264
14265     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
14266     void onrowenter();
14267
14268     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
14269     void ondatasetchanged();
14270
14271     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
14272     void ondataavailable();
14273
14274     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
14275     void ondatasetcomplete();
14276
14277     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
14278     void onlosecapture();
14279
14280     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
14281     void onpropertychange();
14282
14283     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
14284     void onscroll();
14285
14286     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
14287     void onfocus();
14288
14289     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
14290     void onblur();
14291
14292     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
14293     void onresize();
14294
14295     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
14296     VARIANT_BOOL ondrag();
14297
14298     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
14299     void ondragend();
14300
14301     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
14302     VARIANT_BOOL ondragenter();
14303
14304     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
14305     VARIANT_BOOL ondragover();
14306
14307     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
14308     void ondragleave();
14309
14310     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
14311     VARIANT_BOOL ondrop();
14312
14313     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
14314     VARIANT_BOOL onbeforecut();
14315
14316     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
14317     VARIANT_BOOL oncut();
14318
14319     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
14320     VARIANT_BOOL onbeforecopy();
14321
14322     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
14323     VARIANT_BOOL oncopy();
14324
14325     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
14326     VARIANT_BOOL onbeforepaste();
14327
14328     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
14329     VARIANT_BOOL onpaste();
14330
14331     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
14332     VARIANT_BOOL oncontextmenu();
14333
14334     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
14335     void onrowsdelete();
14336
14337     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
14338     void onrowsinserted();
14339
14340     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
14341     void oncellchange();
14342
14343     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
14344     void onreadystatechange();
14345
14346     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
14347     void onbeforeeditfocus();
14348
14349     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
14350     void onlayoutcomplete();
14351
14352     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
14353     void onpage();
14354
14355     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
14356     VARIANT_BOOL onbeforedeactivate();
14357
14358     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
14359     VARIANT_BOOL onbeforeactivate();
14360
14361     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
14362     void onmove();
14363
14364     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
14365     VARIANT_BOOL oncontrolselect();
14366
14367     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
14368     VARIANT_BOOL onmovestart();
14369
14370     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
14371     void onmoveend();
14372
14373     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
14374     VARIANT_BOOL onresizestart();
14375
14376     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
14377     void onresizeend();
14378
14379     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
14380     void onmouseenter();
14381
14382     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
14383     void onmouseleave();
14384
14385     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
14386     VARIANT_BOOL onmousewheel();
14387
14388     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
14389     void onactivate();
14390
14391     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
14392     void ondeactivate();
14393
14394     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
14395     void onfocusin();
14396
14397     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
14398     void onfocusout();
14399 }
14400
14401 /*****************************************************************************
14402  *    IHTMLTableCaption interface
14403  */
14404 [
14405     odl,
14406     oleautomation,
14407     dual,
14408     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
14409 ]
14410 interface IHTMLTableCaption : IDispatch
14411 {
14412     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14413     HRESULT align([in] BSTR v);
14414
14415     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
14416     HRESULT align([retval, out] BSTR *p);
14417
14418     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14419     HRESULT vAlign([in] BSTR v);
14420
14421     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
14422     HRESULT vAlign([retval, out] BSTR *p);
14423 }
14424
14425 interface IHTMLTableSection;
14426
14427 /*****************************************************************************
14428  *    IHTMLTable interface
14429  */
14430 [
14431     odl,
14432     oleautomation,
14433     dual,
14434     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
14435 ]
14436 interface IHTMLTable : IDispatch
14437 {
14438     [propput, id(DISPID_IHTMLTABLE_COLS)]
14439     HRESULT cols([in] long v);
14440
14441     [propget, id(DISPID_IHTMLTABLE_COLS)]
14442     HRESULT cols([retval, out] long *p);
14443
14444     [propput, id(DISPID_IHTMLTABLE_BORDER)]
14445     HRESULT border([in] VARIANT v);
14446
14447     [propget, id(DISPID_IHTMLTABLE_BORDER)]
14448     HRESULT border([retval, out] VARIANT *p);
14449
14450     [propput, id(DISPID_IHTMLTABLE_FRAME)]
14451     HRESULT frame([in] BSTR v);
14452
14453     [propget, id(DISPID_IHTMLTABLE_FRAME)]
14454     HRESULT frame([retval, out] BSTR *p);
14455
14456     [propput, id(DISPID_IHTMLTABLE_RULES)]
14457     HRESULT rules([in] BSTR v);
14458
14459     [propget, id(DISPID_IHTMLTABLE_RULES)]
14460     HRESULT rules([retval, out] BSTR *p);
14461
14462     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
14463     HRESULT cellSpacing([in] VARIANT v);
14464
14465     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
14466     HRESULT cellSpacing([retval, out] VARIANT *p);
14467
14468     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
14469     HRESULT cellPadding([in] VARIANT v);
14470
14471     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
14472     HRESULT cellPadding([retval, out] VARIANT *p);
14473
14474     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
14475     HRESULT background([in] BSTR v);
14476
14477     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
14478     HRESULT background([retval, out] BSTR *p);
14479
14480     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
14481     HRESULT bgColor([in] VARIANT v);
14482
14483     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
14484     HRESULT bgColor([retval, out] VARIANT *p);
14485
14486     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14487     HRESULT borderColor([in] VARIANT v);
14488
14489     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
14490     HRESULT borderColor([retval, out] VARIANT *p);
14491
14492     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14493     HRESULT borderColorLight([in] VARIANT v);
14494
14495     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
14496     HRESULT borderColorLight([retval, out] VARIANT *p);
14497
14498     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14499     HRESULT borderColorDark([in] VARIANT v);
14500
14501     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
14502     HRESULT borderColorDark([retval, out] VARIANT *p);
14503
14504     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
14505     HRESULT align([in] BSTR v);
14506
14507     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
14508     HRESULT align([retval, out] BSTR * p);
14509
14510     [id(DISPID_IHTMLTABLE_REFRESH)]
14511     HRESULT refresh();
14512
14513     [propget, id(DISPID_IHTMLTABLE_ROWS)]
14514     HRESULT rows([retval, out] IHTMLElementCollection **p);
14515
14516     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
14517     HRESULT width([in] VARIANT v);
14518
14519     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
14520     HRESULT width([retval, out] VARIANT *p);
14521
14522     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
14523     HRESULT height([in] VARIANT v);
14524
14525     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
14526     HRESULT height([retval, out] VARIANT *p);
14527
14528     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14529     HRESULT dataPageSize([in] long v);
14530
14531     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
14532     HRESULT dataPageSize([retval, out] long *p);
14533
14534     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
14535     HRESULT nextPage();
14536
14537     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
14538     HRESULT previousPage();
14539
14540     [propget, id(DISPID_IHTMLTABLE_THEAD)]
14541     HRESULT tHead([retval, out] IHTMLTableSection **p);
14542
14543     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
14544     HRESULT tFoot([retval, out] IHTMLTableSection **p);
14545
14546     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
14547     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
14548
14549     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
14550     HRESULT caption([retval, out] IHTMLTableCaption **p);
14551
14552     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
14553     HRESULT createTHead([retval, out] IDispatch **head);
14554
14555     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
14556     HRESULT deleteTHead();
14557
14558     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
14559     HRESULT createTFoot([retval, out] IDispatch **foot);
14560
14561     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
14562     HRESULT deleteTFoot();
14563
14564     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
14565     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
14566
14567     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
14568     HRESULT deleteCaption();
14569
14570     [id(DISPID_IHTMLTABLE_INSERTROW)]
14571     HRESULT insertRow(
14572             [defaultvalue(-1), in] long index,
14573             [retval, out] IDispatch **row);
14574
14575     [id(DISPID_IHTMLTABLE_DELETEROW)]
14576     HRESULT deleteRow([defaultvalue(-1), in] long index);
14577
14578     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
14579     HRESULT readyState([retval, out] BSTR *p);
14580
14581     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14582     HRESULT onreadystatechange([in] VARIANT v);
14583
14584     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
14585     HRESULT onreadystatechange([retval, out] VARIANT *p);
14586 }
14587
14588 [
14589     odl,
14590     oleautomation,
14591     dual,
14592     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
14593 ]
14594 interface IHTMLTableSection : IDispatch
14595 {
14596     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
14597     HRESULT align([in] BSTR v);
14598
14599     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
14600     HRESULT align([retval, out] BSTR *p);
14601
14602     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
14603     HRESULT vAlign([in] BSTR v);
14604
14605     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
14606     HRESULT vAlign([retval, out] BSTR *p);
14607
14608     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
14609     HRESULT bgColor([in] VARIANT v);
14610
14611     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
14612     HRESULT bgColor([retval, out] VARIANT *p);
14613
14614     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
14615     HRESULT rows([retval, out] IHTMLElementCollection **p);
14616
14617     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
14618     HRESULT insertRow(
14619             [defaultvalue(-1), in] long index,
14620             [retval, out] IDispatch **row);
14621
14622     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
14623     HRESULT deleteRow([defaultvalue(-1), in] long index);
14624 }
14625
14626 /*****************************************************************************
14627  *    IHTMLScriptElement interface
14628  */
14629 [
14630     odl,
14631     oleautomation,
14632     dual,
14633     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
14634 ]
14635 interface IHTMLScriptElement : IDispatch
14636 {
14637     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14638     HRESULT src([in] BSTR v);
14639
14640     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
14641     HRESULT src([retval, out] BSTR *p);
14642
14643     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14644     HRESULT htmlFor([in] BSTR v);
14645
14646     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
14647     HRESULT htmlFor([retval, out] BSTR *p);
14648
14649     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14650     HRESULT event([in] BSTR v);
14651
14652     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
14653     HRESULT event([retval, out] BSTR *p);
14654
14655     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14656     HRESULT text([in] BSTR v);
14657
14658     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
14659     HRESULT text([retval, out] BSTR *p);
14660
14661     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14662     HRESULT defer([in] VARIANT_BOOL v);
14663
14664     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
14665     HRESULT defer([retval, out] VARIANT_BOOL *p);
14666
14667     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
14668     HRESULT readyState([retval, out] BSTR *p);
14669
14670     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14671     HRESULT onerror([in] VARIANT v);
14672
14673     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
14674     HRESULT onerror([retval, out] VARIANT *p);
14675
14676     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14677     HRESULT type([in] BSTR v);
14678
14679     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
14680     HRESULT type([retval, out] BSTR *p);
14681 }
14682
14683 /*****************************************************************************
14684  *    IHTMLScriptElement2 interface
14685  */
14686 [
14687     odl,
14688     oleautomation,
14689     dual,
14690     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
14691 ]
14692 interface IHTMLScriptElement2 : IDispatch
14693 {
14694     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14695     HRESULT charset([in] BSTR v);
14696
14697     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
14698     HRESULT charset([retval, out] BSTR *p);
14699 }
14700
14701 /*****************************************************************************
14702  *    IHTMLFrameBase interface
14703  */
14704 [
14705     odl,
14706     oleautomation,
14707     dual,
14708     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
14709 ]
14710 interface IHTMLFrameBase : IDispatch
14711 {
14712     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
14713     HRESULT src([in] BSTR v);
14714
14715     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
14716     HRESULT src([out, retval] BSTR *p);
14717
14718     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
14719     HRESULT name([in] BSTR v);
14720
14721     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
14722     HRESULT name([out, retval] BSTR *p);
14723
14724     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14725     HRESULT border([in] VARIANT v);
14726
14727     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
14728     HRESULT border([out, retval] VARIANT *p);
14729
14730     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14731     HRESULT frameBorder([in] BSTR v);
14732
14733     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
14734     HRESULT frameBorder([out, retval] BSTR *p);
14735
14736     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14737     HRESULT frameSpacing([in] VARIANT v);
14738
14739     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
14740     HRESULT frameSpacing([out, retval] VARIANT *p);
14741
14742     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14743     HRESULT marginWidth([in] VARIANT v);
14744
14745     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
14746     HRESULT marginWidth([out, retval] VARIANT *p);
14747
14748     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14749     HRESULT marginHeight([in] VARIANT v);
14750
14751     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
14752     HRESULT marginHeight([out, retval] VARIANT *p);
14753
14754     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14755     HRESULT noResize([in] VARIANT_BOOL v);
14756
14757     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
14758     HRESULT noResize([out, retval] VARIANT_BOOL *p);
14759
14760     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14761     HRESULT scrolling([in] BSTR v);
14762
14763     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
14764     HRESULT scrolling([out, retval] BSTR *p);
14765 }
14766
14767 /*****************************************************************************
14768  *    IHTMLFrameBase2 interface
14769  */
14770 [
14771     odl,
14772     oleautomation,
14773     dual,
14774     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
14775 ]
14776 interface IHTMLFrameBase2 : IDispatch
14777 {
14778     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
14779     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
14780
14781     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14782     HRESULT onload([in] VARIANT v);
14783
14784     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
14785     HRESULT onload([retval, out] VARIANT *p);
14786
14787     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
14788     HRESULT onreadystatechange([in] VARIANT v);
14789
14790     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
14791     HRESULT onreadystatechange([retval, out] VARIANT *p);
14792
14793     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
14794     HRESULT readyState([retval, out] BSTR *p);
14795
14796     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14797     HRESULT allowTransparency([in] VARIANT_BOOL v);
14798
14799     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
14800     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
14801 }
14802
14803 } /* library MSHTML */