mshtml.idl: Added DispHTMLInputElement 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  *    IHTMLRenderStyle interface
1139  */
1140 [
1141     odl,
1142     oleautomation,
1143     dual,
1144     uuid(3050f6ae-98b5-11cf-bb82-00aa00bdce0b)
1145 ]
1146 interface IHTMLRenderStyle : IDispatch
1147 {
1148     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
1149     HRESULT textLineThroughStyle([in] BSTR v);
1150
1151     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTLINETHROUGHSTYLE), displaybind, bindable]
1152     HRESULT textLineThroughStyle([retval, out] BSTR *p);
1153
1154     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
1155     HRESULT textUnderlineStyle([in] BSTR v);
1156
1157     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTUNDERLINESTYLE), displaybind, bindable]
1158     HRESULT textUnderlineStyle([retval, out] BSTR *p);
1159
1160     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
1161     HRESULT textEffect([in] BSTR v);
1162
1163     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTEFFECT), displaybind, bindable]
1164     HRESULT textEffect([retval, out] BSTR *p);
1165
1166     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
1167     HRESULT textColor([in] VARIANT v);
1168
1169     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTCOLOR), displaybind, bindable]
1170     HRESULT textColor([retval, out] VARIANT *p);
1171
1172     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
1173     HRESULT textBackgroundColor([in] VARIANT v);
1174
1175     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTBACKGROUNDCOLOR), displaybind, bindable]
1176     HRESULT textBackgroundColor([retval, out] VARIANT *p);
1177
1178     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
1179     HRESULT textDecorationColor([in] VARIANT v);
1180
1181     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATIONCOLOR), displaybind, bindable]
1182     HRESULT textDecorationColor([retval, out] VARIANT *p);
1183
1184     [propput, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
1185     HRESULT renderingPriority([in] long v);
1186
1187     [propget, id(DISPID_IHTMLRENDERSTYLE_RENDERINGPRIORITY), displaybind, bindable]
1188     HRESULT renderingPriority([retval, out] long *p);
1189
1190     [propput, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
1191     HRESULT defaultTextSelection([in] BSTR v);
1192
1193     [propget, id(DISPID_IHTMLRENDERSTYLE_DEFAULTTEXTSELECTION), displaybind, bindable]
1194     HRESULT defaultTextSelection([retval, out] BSTR *p);
1195
1196     [propput, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
1197     HRESULT textDecoration([in] BSTR v);
1198
1199     [propget, id(DISPID_IHTMLRENDERSTYLE_TEXTDECORATION), displaybind, bindable]
1200     HRESULT textDecoration([retval, out] BSTR *p);
1201 }
1202
1203 /*****************************************************************************
1204  *    IHTMLCurrentStyle interface
1205  */
1206 [
1207     odl,
1208     oleautomation,
1209     dual,
1210     uuid(3050f3db-98b5-11cf-bb82-00aa00bdce0b)
1211 ]
1212 interface IHTMLCurrentStyle : IDispatch
1213 {
1214     [propget, id(DISPID_IHTMLCURRENTSTYLE_POSITION), displaybind, bindable]
1215     HRESULT position([retval, out] BSTR *p);
1216
1217     [propget, id(DISPID_IHTMLCURRENTSTYLE_STYLEFLOAT), displaybind, bindable]
1218     HRESULT styleFloat([retval, out] BSTR *p);
1219
1220     [propget, id(DISPID_IHTMLCURRENTSTYLE_COLOR), displaybind, bindable]
1221     HRESULT color([retval, out] VARIANT *p);
1222
1223     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDCOLOR), displaybind, bindable]
1224     HRESULT backgroundColor([retval, out] VARIANT *p);
1225
1226     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTFAMILY), displaybind, bindable]
1227     HRESULT fontFamily([retval, out] BSTR *p);
1228
1229     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSTYLE), displaybind, bindable]
1230     HRESULT fontStyle([retval, out] BSTR *p);
1231
1232     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTVARIANT), displaybind, bindable, hidden]
1233     HRESULT fontVariant([retval, out] BSTR *p);
1234
1235     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTWEIGHT), displaybind, bindable]
1236     HRESULT fontWeight([retval, out] VARIANT *p);
1237
1238     [propget, id(DISPID_IHTMLCURRENTSTYLE_FONTSIZE), displaybind, bindable]
1239     HRESULT fontSize([retval, out] VARIANT *p);
1240
1241     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDIMAGE), displaybind, bindable]
1242     HRESULT backgroundImage([retval, out] BSTR *p);
1243
1244     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONX), displaybind, bindable]
1245     HRESULT backgroundPositionX([retval, out] VARIANT *p);
1246
1247     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDPOSITIONY), displaybind, bindable]
1248     HRESULT backgroundPositionY([retval, out] VARIANT *p);
1249
1250     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDREPEAT), displaybind, bindable]
1251     HRESULT backgroundRepeat([retval, out] BSTR *p);
1252
1253     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTCOLOR), displaybind, bindable]
1254     HRESULT borderLeftColor([retval, out] VARIANT *p);
1255
1256     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPCOLOR), displaybind, bindable]
1257     HRESULT borderTopColor([retval, out] VARIANT *p);
1258
1259     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTCOLOR), displaybind, bindable]
1260     HRESULT borderRightColor([retval, out] VARIANT *p);
1261
1262     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMCOLOR), displaybind, bindable]
1263     HRESULT borderBottomColor([retval, out] VARIANT *p);
1264
1265     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPSTYLE), displaybind, bindable]
1266     HRESULT borderTopStyle([retval, out] BSTR *p);
1267
1268     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTSTYLE), displaybind, bindable]
1269     HRESULT borderRightStyle([retval, out] BSTR *p);
1270
1271     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMSTYLE), displaybind, bindable]
1272     HRESULT borderBottomStyle([retval, out] BSTR *p);
1273
1274     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTSTYLE), displaybind, bindable]
1275     HRESULT borderLeftStyle([retval, out] BSTR *p);
1276
1277     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERTOPWIDTH), displaybind, bindable]
1278     HRESULT borderTopWidth([retval, out] VARIANT *p);
1279
1280     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERRIGHTWIDTH), displaybind, bindable]
1281     HRESULT borderRightWidth([retval, out] VARIANT *p);
1282
1283     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERBOTTOMWIDTH), displaybind, bindable]
1284     HRESULT borderBottomWidth([retval, out] VARIANT *p);
1285
1286     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERLEFTWIDTH), displaybind, bindable]
1287     HRESULT borderLeftWidth([retval, out] VARIANT *p);
1288
1289     [propget, id(DISPID_IHTMLCURRENTSTYLE_LEFT), displaybind, bindable]
1290     HRESULT left([retval, out] VARIANT *p);
1291
1292     [propget, id(DISPID_IHTMLCURRENTSTYLE_TOP), displaybind, bindable]
1293     HRESULT top([retval, out] VARIANT *p);
1294
1295     [propget, id(DISPID_IHTMLCURRENTSTYLE_WIDTH), displaybind, bindable]
1296     HRESULT width([retval, out] VARIANT *p);
1297
1298     [propget, id(DISPID_IHTMLCURRENTSTYLE_HEIGHT), displaybind, bindable]
1299     HRESULT height([retval, out] VARIANT *p);
1300
1301     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGLEFT), displaybind, bindable]
1302     HRESULT paddingLeft([retval, out] VARIANT *p);
1303
1304     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGTOP), displaybind, bindable]
1305     HRESULT paddingTop([retval, out] VARIANT *p);
1306
1307     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGRIGHT), displaybind, bindable]
1308     HRESULT paddingRight([retval, out] VARIANT *p);
1309
1310     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDINGBOTTOM), displaybind, bindable]
1311     HRESULT paddingBottom([retval, out] VARIANT *p);
1312
1313     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTALIGN), displaybind, bindable]
1314     HRESULT textAlign([retval, out] BSTR *p);
1315
1316     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTDECORATION), displaybind, bindable]
1317     HRESULT textDecoration([retval, out] BSTR *p);
1318
1319     [propget, id(DISPID_IHTMLCURRENTSTYLE_DISPLAY), displaybind, bindable]
1320     HRESULT display([retval, out] BSTR *p);
1321
1322     [propget, id(DISPID_IHTMLCURRENTSTYLE_VISIBILITY), displaybind, bindable]
1323     HRESULT visibility([retval, out] BSTR *p);
1324
1325     [propget, id(DISPID_IHTMLCURRENTSTYLE_ZINDEX), displaybind, bindable]
1326     HRESULT zIndex([retval, out] VARIANT *p);
1327
1328     [propget, id(DISPID_IHTMLCURRENTSTYLE_LETTERSPACING), displaybind, bindable]
1329     HRESULT letterSpacing([retval, out] VARIANT *p);
1330
1331     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEHEIGHT), displaybind, bindable]
1332     HRESULT lineHeight([retval, out] VARIANT *p);
1333
1334     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTINDENT), displaybind, bindable]
1335     HRESULT textIndent([retval, out] VARIANT *p);
1336
1337     [propget, id(DISPID_IHTMLCURRENTSTYLE_VERTICALALIGN), displaybind, bindable]
1338     HRESULT verticalAlign([retval, out] VARIANT *p);
1339
1340     [propget, id(DISPID_IHTMLCURRENTSTYLE_BACKGROUNDATTACHMENT), displaybind, bindable]
1341     HRESULT backgroundAttachment([retval, out] BSTR *p);
1342
1343     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINTOP), displaybind, bindable]
1344     HRESULT marginTop([retval, out] VARIANT *p);
1345
1346     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINRIGHT), displaybind, bindable]
1347     HRESULT marginRight([retval, out] VARIANT *p);
1348
1349     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINBOTTOM), displaybind, bindable]
1350     HRESULT marginBottom([retval, out] VARIANT *p);
1351
1352     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGINLEFT), displaybind, bindable]
1353     HRESULT marginLeft([retval, out] VARIANT *p);
1354
1355     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLEAR), displaybind, bindable]
1356     HRESULT clear([retval, out] BSTR *p);
1357
1358     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLETYPE), displaybind, bindable]
1359     HRESULT listStyleType([retval, out] BSTR *p);
1360
1361     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEPOSITION), displaybind, bindable]
1362     HRESULT listStylePosition([retval, out] BSTR *p);
1363
1364     [propget, id(DISPID_IHTMLCURRENTSTYLE_LISTSTYLEIMAGE), displaybind, bindable]
1365     HRESULT listStyleImage([retval, out] BSTR *p);
1366
1367     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPTOP), displaybind, bindable]
1368     HRESULT clipTop([retval, out] VARIANT *p);
1369
1370     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPRIGHT), displaybind, bindable]
1371     HRESULT clipRight([retval, out] VARIANT *p);
1372
1373     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPBOTTOM), displaybind, bindable]
1374     HRESULT clipBottom([retval, out] VARIANT *p);
1375
1376     [propget, id(DISPID_IHTMLCURRENTSTYLE_CLIPLEFT), displaybind, bindable]
1377     HRESULT clipLeft([retval, out] VARIANT *p);
1378
1379     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOW), displaybind, bindable]
1380     HRESULT overflow([retval, out] BSTR *p);
1381
1382     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKBEFORE), displaybind, bindable]
1383     HRESULT pageBreakBefore([retval, out] BSTR *p);
1384
1385     [propget, id(DISPID_IHTMLCURRENTSTYLE_PAGEBREAKAFTER), displaybind, bindable]
1386     HRESULT pageBreakAfter([retval, out] BSTR *p);
1387
1388     [propget, id(DISPID_IHTMLCURRENTSTYLE_CURSOR), displaybind, bindable]
1389     HRESULT cursor([retval, out] BSTR *p);
1390
1391     [propget, id(DISPID_IHTMLCURRENTSTYLE_TABLELAYOUT), displaybind, bindable]
1392     HRESULT tableLayout([retval, out] BSTR *p);
1393
1394     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLLAPSE), displaybind, bindable]
1395     HRESULT borderCollapse([retval, out] BSTR *p);
1396
1397     [propget, id(DISPID_IHTMLCURRENTSTYLE_DIRECTION), displaybind, bindable]
1398     HRESULT direction([retval, out] BSTR *p);
1399
1400     [propget, id(DISPID_IHTMLCURRENTSTYLE_BEHAVIOR), displaybind, bindable]
1401     HRESULT behavior([retval, out] BSTR *p);
1402
1403     [id(DISPID_IHTMLCURRENTSTYLE_GETATTRIBUTE)]
1404     HRESULT getAttribute(
1405         [in] BSTR strAttributeName,
1406         [defaultvalue(0), in] LONG lFlags,
1407         [retval, out] VARIANT *AttributeValue);
1408
1409     [propget, id(DISPID_IHTMLCURRENTSTYLE_UNICODEBIDI), displaybind, bindable]
1410     HRESULT unicodeBidi([retval, out] BSTR *p);
1411
1412     [propget, id(DISPID_IHTMLCURRENTSTYLE_RIGHT), displaybind, bindable]
1413     HRESULT right([retval, out] VARIANT *p);
1414
1415     [propget, id(DISPID_IHTMLCURRENTSTYLE_BOTTOM), displaybind, bindable]
1416     HRESULT bottom([retval, out] VARIANT *p);
1417
1418     [propget, id(DISPID_IHTMLCURRENTSTYLE_IMEMODE), displaybind, bindable]
1419     HRESULT imeMode([retval, out] BSTR *p);
1420
1421     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYALIGN), displaybind, bindable]
1422     HRESULT rubyAlign([retval, out] BSTR *p);
1423
1424     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYPOSITION), displaybind, bindable]
1425     HRESULT rubyPosition([retval, out] BSTR *p);
1426
1427     [propget, id(DISPID_IHTMLCURRENTSTYLE_RUBYOVERHANG), displaybind, bindable]
1428     HRESULT rubyOverhang([retval, out] BSTR *p);
1429
1430     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTAUTOSPACE), displaybind, bindable]
1431     HRESULT textAutospace([retval, out] BSTR *p);
1432
1433     [propget, id(DISPID_IHTMLCURRENTSTYLE_LINEBREAK), displaybind, bindable]
1434     HRESULT lineBreak([retval, out] BSTR *p);
1435
1436     [propget, id(DISPID_IHTMLCURRENTSTYLE_WORDBREAK), displaybind, bindable]
1437     HRESULT wordBreak([retval, out] BSTR *p);
1438
1439     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFY), displaybind, bindable]
1440     HRESULT textJustify([retval, out] BSTR *p);
1441
1442     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTJUSTIFYTRIM), displaybind, bindable]
1443     HRESULT textJustifyTrim([retval, out] BSTR *p);
1444
1445     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTKASHIDA), displaybind, bindable]
1446     HRESULT textKashida([retval, out] VARIANT *p);
1447
1448     [propget, id(DISPID_IHTMLCURRENTSTYLE_BLOCKDIRECTION), displaybind, bindable]
1449     HRESULT blockDirection([retval, out] BSTR *p);
1450
1451     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDCHAR), displaybind, bindable]
1452     HRESULT layoutGridChar([retval, out] VARIANT *p);
1453
1454     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDLINE), displaybind, bindable]
1455     HRESULT layoutGridLine([retval, out] VARIANT *p);
1456
1457     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDMODE), displaybind, bindable]
1458     HRESULT layoutGridMode([retval, out] BSTR *p);
1459
1460     [propget, id(DISPID_IHTMLCURRENTSTYLE_LAYOUTGRIDTYPE), displaybind, bindable]
1461     HRESULT layoutGridType([retval, out] BSTR *p);
1462
1463     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERSTYLE), displaybind, bindable]
1464     HRESULT borderStyle([retval, out] BSTR *p);
1465
1466     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERCOLOR), displaybind, bindable]
1467     HRESULT borderColor([retval, out] BSTR *p);
1468
1469     [propget, id(DISPID_IHTMLCURRENTSTYLE_BORDERWIDTH), displaybind, bindable]
1470     HRESULT borderWidth([retval, out] BSTR *p);
1471
1472     [propget, id(DISPID_IHTMLCURRENTSTYLE_PADDING), displaybind, bindable]
1473     HRESULT padding([retval, out] BSTR *p);
1474
1475     [propget, id(DISPID_IHTMLCURRENTSTYLE_MARGIN), displaybind, bindable]
1476     HRESULT margin([retval, out] BSTR *p);
1477
1478     [propget, id(DISPID_IHTMLCURRENTSTYLE_ACCELERATOR), displaybind, bindable]
1479     HRESULT accelerator([retval, out] BSTR *p);
1480
1481     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWX), displaybind, bindable]
1482     HRESULT overflowX([retval, out] BSTR *p);
1483
1484     [propget, id(DISPID_IHTMLCURRENTSTYLE_OVERFLOWY), displaybind, bindable]
1485     HRESULT overflowY([retval, out] BSTR *p);
1486
1487     [propget, id(DISPID_IHTMLCURRENTSTYLE_TEXTTRANSFORM), displaybind, bindable]
1488     HRESULT textTransform([retval, out] BSTR *p);
1489 }
1490
1491 /*****************************************************************************
1492  *    IHTMLRect interface
1493  */
1494 [
1495     odl,
1496     oleautomation,
1497     dual,
1498     uuid(3050f4a3-98b5-11cf-bb82-00aa00bdce0b)
1499 ]
1500 interface IHTMLRect : IDispatch
1501 {
1502     [propput, id(DISPID_IHTMLRECT_LEFT)]
1503     HRESULT left([in] long v);
1504
1505     [propget, id(DISPID_IHTMLRECT_LEFT)]
1506     HRESULT left([retval, out] long *p);
1507
1508     [propput, id(DISPID_IHTMLRECT_TOP)]
1509     HRESULT top([in] long v);
1510
1511     [propget, id(DISPID_IHTMLRECT_TOP)]
1512     HRESULT top([retval, out] long *p);
1513
1514     [propput, id(DISPID_IHTMLRECT_RIGHT)]
1515     HRESULT right([in] long v);
1516
1517     [propget, id(DISPID_IHTMLRECT_RIGHT)]
1518     HRESULT right([retval, out] long *p);
1519
1520     [propput, id(DISPID_IHTMLRECT_BOTTOM)]
1521     HRESULT bottom([in] long v);
1522
1523     [propget, id(DISPID_IHTMLRECT_BOTTOM)]
1524     HRESULT bottom([retval, out] long *p);
1525 }
1526
1527 /*****************************************************************************
1528  *    IHTMLRectCollection interface
1529  */
1530 [
1531     odl,
1532     oleautomation,
1533     dual,
1534     uuid(3050f4a4-98b5-11cf-bb82-00aa00bdce0b)
1535 ]
1536 interface IHTMLRectCollection : IDispatch
1537 {
1538     [propget, id(DISPID_IHTMLRECTCOLLECTION_LENGTH)]
1539     HRESULT length([retval, out] long *p);
1540
1541     [propget, id(DISPID_IHTMLRECTCOLLECTION__NEWENUM), hidden, restricted]
1542     HRESULT _newEnum([retval, out] IUnknown **p);
1543
1544     [id(DISPID_IHTMLRECTCOLLECTION_ITEM)]
1545     HRESULT item(
1546         [in] VARIANT *pvarIndex,
1547         [retval, out] VARIANT *pvarResult);
1548 }
1549
1550 /*****************************************************************************
1551  *    IHTMLDOMNode interface
1552  */
1553 [
1554     odl,
1555     oleautomation,
1556     dual,
1557     uuid(3050f5da-98b5-11cf-bb82-00aa00bdce0b)
1558 ]
1559 interface IHTMLDOMNode : IDispatch
1560 {
1561     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
1562     HRESULT nodeType([retval, out] long *p);
1563
1564     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
1565     HRESULT parentNode([retval, out] IHTMLDOMNode **p);
1566
1567     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
1568     HRESULT hasChildNodes([retval, out] VARIANT_BOOL *fChildren);
1569
1570     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
1571     HRESULT childNodes([retval, out] IDispatch **p);
1572
1573     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
1574     HRESULT attributes([retval, out] IDispatch **p);
1575
1576     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
1577     HRESULT insertBefore(
1578         [in] IHTMLDOMNode *newChild,
1579         [optional, in] VARIANT refChild,
1580         [retval, out] IHTMLDOMNode **node);
1581
1582     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
1583     HRESULT removeChild(
1584         [in] IHTMLDOMNode *oldChild,
1585         [retval, out] IHTMLDOMNode **node);
1586
1587     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
1588     HRESULT replaceChild(
1589         [in] IHTMLDOMNode *newChild,
1590         [in] IHTMLDOMNode *oldChild,
1591         [retval, out] IHTMLDOMNode **node);
1592
1593     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
1594     HRESULT cloneNode(
1595         [in] VARIANT_BOOL fDeep,
1596         [retval, out] IHTMLDOMNode **clonedNode);
1597
1598     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
1599     HRESULT removeNode(
1600         [defaultvalue(0), in] VARIANT_BOOL fDeep,
1601         [retval, out] IHTMLDOMNode **removed);
1602
1603     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
1604     HRESULT swapNode(
1605         [in] IHTMLDOMNode *otherNode,
1606         [retval, out] IHTMLDOMNode **swappedNode);
1607
1608     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
1609     HRESULT replaceNode(
1610         [in] IHTMLDOMNode *replacement,
1611         [retval, out] IHTMLDOMNode **replaced);
1612
1613     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
1614     HRESULT appendChild(
1615         [in] IHTMLDOMNode *newChild,
1616         [retval, out] IHTMLDOMNode **node);
1617
1618     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
1619     HRESULT nodeName([retval, out] BSTR *p);
1620
1621     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
1622     HRESULT nodeValue([in] VARIANT v);
1623
1624     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
1625     HRESULT nodeValue([retval, out] VARIANT *p);
1626
1627     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
1628     HRESULT firstChild([retval, out] IHTMLDOMNode **p);
1629
1630     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
1631     HRESULT lastChild([retval, out] IHTMLDOMNode **p);
1632
1633     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
1634     HRESULT previousSibling([retval, out] IHTMLDOMNode **p);
1635
1636     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
1637     HRESULT nextSibling([retval, out] IHTMLDOMNode **p);
1638 }
1639
1640 /*****************************************************************************
1641  *    IHTMLDOMNode2 interface
1642  */
1643 [
1644     odl,
1645     oleautomation,
1646     dual,
1647     uuid(3050f80b-98b5-11cf-bb82-00aa00bdce0b)
1648 ]
1649 interface IHTMLDOMNode2 : IDispatch
1650 {
1651     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
1652     HRESULT ownerDocument([retval, out] IDispatch **p);
1653 }
1654
1655 /*****************************************************************************
1656  *    IHTMLDOMAttribute interface
1657  */
1658 [
1659     odl,
1660     oleautomation,
1661     dual,
1662     uuid(3050f4b0-98b5-11cf-bb82-00aa00bdce0b)
1663 ]
1664 interface IHTMLDOMAttribute : IDispatch
1665 {
1666     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODENAME)]
1667     HRESULT nodeName([retval, out] BSTR *p);
1668
1669     [propput, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
1670     HRESULT nodeValue([in] VARIANT v);
1671
1672     [propget, id(DISPID_IHTMLDOMATTRIBUTE_NODEVALUE)]
1673     HRESULT nodeValue([retval, out] VARIANT *p);
1674
1675     [propget, id(DISPID_IHTMLDOMATTRIBUTE_SPECIFIED)]
1676     HRESULT specified([retval, out] VARIANT_BOOL *p);
1677 }
1678
1679 /*****************************************************************************
1680  *    IHTMLDOMTextNode interface
1681  */
1682 [
1683     odl,
1684     oleautomation,
1685     dual,
1686     uuid(3050f4b1-98b5-11cf-bb82-00aa00bdce0b)
1687 ]
1688 interface IHTMLDOMTextNode : IDispatch
1689 {
1690     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
1691     HRESULT data([in] BSTR v);
1692
1693     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
1694     HRESULT data([out, retval] BSTR *p);
1695
1696     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
1697     HRESULT toString([out, retval] BSTR *String);
1698
1699     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
1700     HRESULT length([out, retval] long *p);
1701
1702     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
1703     HRESULT splitText(
1704             [in] long offset,
1705             [out, retval] IHTMLDOMNode **pRetNode);
1706 }
1707
1708 /*****************************************************************************
1709  *    IHTMLDOMImplementation interface
1710  */
1711 [
1712     odl,
1713     oleautomation,
1714     dual,
1715     uuid(3050f80d-98b5-11cf-bb82-00aa00bdce0b)
1716 ]
1717 interface IHTMLDOMImplementation : IDispatch
1718 {
1719     [id(DISPID_IHTMLDOMIMPLEMENTATION_HASFEATURE)]
1720     HRESULT hasFeature(
1721         [in] BSTR bstrfeature,
1722         [optional, in] VARIANT version,
1723         [retval, out] VARIANT_BOOL *pfHasFeature);
1724 }
1725
1726 /*****************************************************************************
1727  *    DispHTMLDOMTextNode dispinterface
1728  */
1729 [
1730     hidden,
1731     uuid(3050f565-98b5-11cf-bb82-00aa00bdce0b)
1732 ]
1733 dispinterface DispHTMLDOMTextNode
1734 {
1735 properties:
1736 methods:
1737     [propput, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
1738     void data(BSTR v);
1739
1740     [propget, id(DISPID_IHTMLDOMTEXTNODE_DATA)]
1741     BSTR data();
1742
1743     [id(DISPID_IHTMLDOMTEXTNODE_TOSTRING)]
1744     BSTR toString();
1745
1746     [propget, id(DISPID_IHTMLDOMTEXTNODE_LENGTH)]
1747     long length();
1748
1749     [id(DISPID_IHTMLDOMTEXTNODE_SPLITTEXT)]
1750     IHTMLDOMNode *splitText([in] long offset);
1751
1752     [id(DISPID_IHTMLDOMTEXTNODE2_SUBSTRINGDATA)]
1753     BSTR substringData(
1754             [in] long offset,
1755             [in] long Count);
1756
1757     [id(DISPID_IHTMLDOMTEXTNODE2_APPENDDATA)]
1758     void appendData([in] BSTR bstrstring);
1759
1760     [id(DISPID_IHTMLDOMTEXTNODE2_INSERTDATA)]
1761     void insertData(
1762             [in] long offset,
1763             [in] BSTR bstrstring);
1764
1765     [id(DISPID_IHTMLDOMTEXTNODE2_DELETEDATA)]
1766     void deleteData(
1767             [in] long offset,
1768             [in] long Count);
1769
1770     [id(DISPID_IHTMLDOMTEXTNODE2_REPLACEDATA)]
1771     void replaceData(
1772             [in] long offset,
1773             [in] long Count,
1774             [in] BSTR bstrstring);
1775
1776     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
1777     long nodeType();
1778
1779     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
1780     IHTMLDOMNode *parentNode();
1781
1782     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
1783     VARIANT_BOOL hasChildNodes();
1784
1785     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
1786     IDispatch *childNodes();
1787
1788     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
1789     IDispatch *attributes();
1790
1791     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
1792     IHTMLDOMNode *insertBefore(
1793             [in] IHTMLDOMNode *newChild,
1794             [in, optional] VARIANT refChild);
1795
1796     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
1797     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
1798
1799     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
1800     IHTMLDOMNode *replaceChild(
1801             [in] IHTMLDOMNode *newChild,
1802             [in] IHTMLDOMNode *oldChild);
1803
1804     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
1805     IHTMLDOMNode* cloneNode([in] VARIANT_BOOL fDeep);
1806
1807     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
1808     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
1809
1810     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
1811     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
1812
1813     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
1814     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
1815
1816     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
1817     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
1818
1819     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
1820     BSTR nodeName();
1821
1822     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
1823     void nodeValue(VARIANT v);
1824
1825     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
1826     VARIANT nodeValue();
1827
1828     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
1829     IHTMLDOMNode *firstChild();
1830
1831     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
1832     IHTMLDOMNode *lastChild();
1833
1834     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
1835     IHTMLDOMNode *previousSibling();
1836
1837     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
1838     IHTMLDOMNode* nextSibling();
1839
1840     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
1841     IDispatch *ownerDocument();
1842 }
1843
1844
1845 interface IHTMLElementCollection;
1846
1847 /*****************************************************************************
1848  *    IHTMLElement interface
1849  */
1850 [
1851     odl,
1852     dual,
1853     oleautomation,
1854     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
1855 ]
1856 interface IHTMLElement : IDispatch
1857 {
1858     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
1859     HRESULT setAttribute(
1860         [in] BSTR strAttributeName,
1861         [in] VARIANT AttributeValue,
1862         [defaultvalue(1), in] LONG lFlags);
1863
1864     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
1865     HRESULT getAttribute(
1866         [in] BSTR strAttributeName,
1867         [defaultvalue(0), in] LONG lFlags,
1868         [retval, out] VARIANT *AttributeValue);
1869
1870     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
1871     HRESULT removeAttribute(
1872         [in] BSTR strAttributeName,
1873         [defaultvalue(1), in] LONG lFlags,
1874         [retval, out] VARIANT_BOOL *pfSuccess);
1875
1876     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
1877     HRESULT className([in] BSTR v);
1878
1879     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
1880     HRESULT className([retval, out] BSTR *p);
1881
1882     [propput, id(DISPID_IHTMLELEMENT_ID)]
1883     HRESULT id([in] BSTR v);
1884
1885     [propget, id(DISPID_IHTMLELEMENT_ID)]
1886     HRESULT id([retval, out] BSTR *p);
1887
1888     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
1889     HRESULT tagName([retval, out] BSTR *p);
1890
1891     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
1892     HRESULT parentElement([retval, out] IHTMLElement **p);
1893
1894     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
1895     HRESULT style([retval, out] IHTMLStyle **p);
1896
1897     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
1898     HRESULT onhelp([in] VARIANT v);
1899
1900     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
1901     HRESULT onhelp([retval, out] VARIANT *p);
1902
1903     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
1904     HRESULT onclick([in] VARIANT v);
1905
1906     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
1907     HRESULT onclick([retval, out] VARIANT *p);
1908
1909     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
1910     HRESULT ondblclick([in] VARIANT v);
1911
1912     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
1913     HRESULT ondblclick([retval, out] VARIANT *p);
1914
1915     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
1916     HRESULT onkeydown([in] VARIANT v);
1917
1918     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
1919     HRESULT onkeydown([retval, out] VARIANT *p);
1920
1921     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
1922     HRESULT onkeyup([in] VARIANT v);
1923
1924     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
1925     HRESULT onkeyup([retval, out] VARIANT *p);
1926
1927     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
1928     HRESULT onkeypress([in] VARIANT v);
1929
1930     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
1931     HRESULT onkeypress([retval, out] VARIANT *p);
1932
1933     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
1934     HRESULT onmouseout([in] VARIANT v);
1935
1936     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
1937     HRESULT onmouseout([retval, out] VARIANT *p);
1938
1939     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
1940     HRESULT onmouseover([in] VARIANT v);
1941
1942     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
1943     HRESULT onmouseover([retval, out] VARIANT *p);
1944
1945     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
1946     HRESULT onmousemove([in] VARIANT v);
1947
1948     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
1949     HRESULT onmousemove([retval, out] VARIANT *p);
1950
1951     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
1952     HRESULT onmousedown([in] VARIANT v);
1953
1954     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
1955     HRESULT onmousedown([retval, out] VARIANT *p);
1956
1957     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
1958     HRESULT onmouseup([in] VARIANT v);
1959
1960     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
1961     HRESULT onmouseup([retval, out] VARIANT *p);
1962
1963     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
1964     HRESULT document([retval, out] IDispatch **p);
1965
1966     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
1967     HRESULT title([in] BSTR v);
1968
1969     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
1970     HRESULT title([retval, out] BSTR *p);
1971
1972     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
1973     HRESULT language([in] BSTR v);
1974
1975     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
1976     HRESULT language([retval, out] BSTR *p);
1977
1978     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
1979     HRESULT onselectstart([in] VARIANT v);
1980
1981     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
1982     HRESULT onselectstart([retval, out] VARIANT *p);
1983
1984     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
1985     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
1986
1987     [id(DISPID_IHTMLELEMENT_CONTAINS)]
1988     HRESULT contains(
1989         [in] IHTMLElement *pChild,
1990         [retval, out] VARIANT_BOOL *pfResult);
1991
1992     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
1993     HRESULT sourceIndex([retval, out] long *p);
1994
1995     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
1996     HRESULT recordNumber([retval, out] VARIANT *p);
1997
1998     [propput, id(DISPID_IHTMLELEMENT_LANG)]
1999     HRESULT lang([in] BSTR v);
2000
2001     [propget, id(DISPID_IHTMLELEMENT_LANG)]
2002     HRESULT lang([retval, out] BSTR *p);
2003
2004     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
2005     HRESULT offsetLeft([retval, out] long *p);
2006
2007     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
2008     HRESULT offsetTop([retval, out] long *p);
2009
2010     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
2011     HRESULT offsetWidth([retval, out] long *p);
2012
2013     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
2014     HRESULT offsetHeight([retval, out] long *p);
2015
2016     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
2017     HRESULT offsetParent([retval, out] IHTMLElement **p);
2018
2019     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
2020     HRESULT innerHTML([in] BSTR v);
2021
2022     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
2023     HRESULT innerHTML([retval, out] BSTR *p);
2024
2025     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
2026     HRESULT innerText([in] BSTR v);
2027
2028     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
2029     HRESULT innerText([retval, out] BSTR *p);
2030
2031     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
2032     HRESULT outerHTML([in] BSTR v);
2033
2034     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
2035     HRESULT outerHTML([retval, out] BSTR *p);
2036
2037     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
2038     HRESULT outerText([in] BSTR v);
2039
2040     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
2041     HRESULT outerText([retval, out] BSTR *p);
2042
2043     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
2044     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
2045
2046     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
2047     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
2048
2049     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
2050     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
2051
2052     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
2053     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
2054
2055     [id(DISPID_IHTMLELEMENT_CLICK)]
2056     HRESULT click();
2057
2058     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
2059     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
2060
2061     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
2062     HRESULT ondragstart([in] VARIANT v);
2063
2064     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
2065     HRESULT ondragstart([retval, out] VARIANT *p);
2066
2067     [id(DISPID_IHTMLELEMENT_TOSTRING)]
2068     HRESULT toString([retval, out] BSTR *String);
2069
2070     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
2071     HRESULT onbeforeupdate([in] VARIANT v);
2072
2073     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
2074     HRESULT onbeforeupdate([retval, out] VARIANT *p);
2075
2076     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
2077     HRESULT onafterupdate([in] VARIANT v);
2078
2079     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
2080     HRESULT onafterupdate([retval, out] VARIANT *p);
2081
2082     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
2083     HRESULT onerrorupdate([in] VARIANT v);
2084
2085     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
2086     HRESULT onerrorupdate([retval, out] VARIANT *p);
2087
2088     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
2089     HRESULT onrowexit([in] VARIANT v);
2090
2091     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
2092     HRESULT onrowexit([retval, out] VARIANT *p);
2093
2094     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
2095     HRESULT onrowenter([in] VARIANT v);
2096
2097     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
2098     HRESULT onrowenter([retval, out] VARIANT *p);
2099
2100     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
2101     HRESULT ondatasetchanged([in] VARIANT v);
2102
2103     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
2104     HRESULT ondatasetchanged([retval, out] VARIANT *p);
2105
2106     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
2107     HRESULT ondataavailable([in] VARIANT v);
2108
2109     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
2110     HRESULT ondataavailable([retval, out] VARIANT *p);
2111
2112     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
2113     HRESULT ondatasetcomplete([in] VARIANT v);
2114
2115     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
2116     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
2117
2118     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
2119     HRESULT onfilterchange([in] VARIANT v);
2120
2121     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
2122     HRESULT onfilterchange([retval, out] VARIANT *p);
2123
2124     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
2125     HRESULT children([retval, out] IDispatch **p);
2126
2127     [propget, id(DISPID_IHTMLELEMENT_ALL)]
2128     HRESULT all([retval, out] IDispatch **p);
2129 }
2130
2131 /*****************************************************************************
2132  *    IHTMLElement2 interface
2133  */
2134 [
2135     odl,
2136     oleautomation,
2137     dual,
2138     uuid(3050f434-98b5-11cf-bb82-00aa00bdce0b)
2139 ]
2140 interface IHTMLElement2 : IDispatch
2141 {
2142     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
2143     HRESULT scopeName([retval, out] BSTR *p);
2144
2145     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
2146     HRESULT setCapture([defaultvalue(-1), in] VARIANT_BOOL containerCapture);
2147
2148     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
2149     HRESULT releaseCapture();
2150
2151     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
2152     HRESULT onlosecapture([in] VARIANT v);
2153
2154     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
2155     HRESULT onlosecapture([retval, out] VARIANT *p);
2156
2157     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
2158     HRESULT componentFromPoint(
2159         [in] long x,
2160         [in] long y,
2161         [retval, out] BSTR *component);
2162
2163     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
2164     HRESULT doScroll([optional, in] VARIANT component);
2165
2166     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
2167     HRESULT onscroll([in] VARIANT v);
2168
2169     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
2170     HRESULT onscroll([retval, out] VARIANT *p);
2171
2172     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
2173     HRESULT ondrag([in] VARIANT v);
2174
2175     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
2176     HRESULT ondrag([retval, out] VARIANT *p);
2177
2178     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
2179     HRESULT ondragend([in] VARIANT v);
2180
2181     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
2182     HRESULT ondragend([retval, out] VARIANT *p);
2183
2184     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
2185     HRESULT ondragenter([in] VARIANT v);
2186
2187     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
2188     HRESULT ondragenter([retval, out] VARIANT *p);
2189
2190     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
2191     HRESULT ondragover([in] VARIANT v);
2192
2193     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
2194     HRESULT ondragover([retval, out] VARIANT *p);
2195
2196     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
2197     HRESULT ondragleave([in] VARIANT v);
2198
2199     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
2200     HRESULT ondragleave([retval, out] VARIANT *p);
2201
2202     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
2203     HRESULT ondrop([in] VARIANT v);
2204
2205     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
2206     HRESULT ondrop([retval, out] VARIANT *p);
2207
2208     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
2209     HRESULT onbeforecut([in] VARIANT v);
2210
2211     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
2212     HRESULT onbeforecut([retval, out] VARIANT *p);
2213
2214     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
2215     HRESULT oncut([in] VARIANT v);
2216
2217     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
2218     HRESULT oncut([retval, out] VARIANT *p);
2219
2220     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
2221     HRESULT onbeforecopy([in] VARIANT v);
2222
2223     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
2224     HRESULT onbeforecopy([retval, out] VARIANT *p);
2225
2226     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
2227     HRESULT oncopy([in] VARIANT v);
2228
2229     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
2230     HRESULT oncopy([retval, out] VARIANT *p);
2231
2232     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
2233     HRESULT onbeforepaste([in] VARIANT v);
2234
2235     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
2236     HRESULT onbeforepaste([retval, out] VARIANT *p);
2237
2238     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
2239     HRESULT onpaste([in] VARIANT v);
2240
2241     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
2242     HRESULT onpaste([retval, out] VARIANT *p);
2243
2244     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
2245     HRESULT currentStyle([retval, out] IHTMLCurrentStyle **p);
2246
2247     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
2248     HRESULT onpropertychange([in] VARIANT v);
2249
2250     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
2251     HRESULT onpropertychange([retval, out] VARIANT *p);
2252
2253     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
2254     HRESULT getClientRects([retval, out] IHTMLRectCollection **pRectCol);
2255
2256     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
2257     HRESULT getBoundingClientRect([retval, out] IHTMLRect **pRect);
2258
2259     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
2260     HRESULT setExpression(
2261         [in] BSTR propname,
2262         [in] BSTR expression,
2263         [defaultvalue(""), in] BSTR language);
2264
2265     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
2266     HRESULT getExpression(
2267         [in] BSTR propname,
2268         [retval, out] VARIANT *expression);
2269
2270     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
2271     HRESULT removeExpression(
2272         [in] BSTR propname,
2273         [retval, out] VARIANT_BOOL *pfSuccess);
2274
2275     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
2276     HRESULT tabIndex([in] short v);
2277
2278     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
2279     HRESULT tabIndex([retval, out] short *p);
2280
2281     [id(DISPID_IHTMLELEMENT2_FOCUS)]
2282     HRESULT focus();
2283
2284     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
2285     HRESULT accessKey([in] BSTR v);
2286
2287     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
2288     HRESULT accessKey([retval, out] BSTR *p);
2289
2290     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
2291     HRESULT onblur([in] VARIANT v);
2292
2293     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
2294     HRESULT onblur([retval, out] VARIANT *p);
2295
2296     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
2297     HRESULT onfocus([in] VARIANT v);
2298
2299     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
2300     HRESULT onfocus([retval, out] VARIANT *p);
2301
2302     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
2303     HRESULT onresize([in] VARIANT v);
2304
2305     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
2306     HRESULT onresize([retval, out] VARIANT *p);
2307
2308     [id(DISPID_IHTMLELEMENT2_BLUR)]
2309     HRESULT blur();
2310
2311     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
2312     HRESULT addFilter([in] IUnknown *pUnk);
2313
2314     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
2315     HRESULT removeFilter([in] IUnknown *pUnk);
2316
2317     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
2318     HRESULT clientHeight([retval, out] long *p);
2319
2320     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
2321     HRESULT clientWidth([retval, out] long *p);
2322
2323     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
2324     HRESULT clientTop([retval, out] long *p);
2325
2326     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
2327     HRESULT clientLeft([retval, out] long *p);
2328
2329     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
2330     HRESULT attachEvent(
2331         [in] BSTR event,
2332         [in] IDispatch *pDisp,
2333         [retval, out] VARIANT_BOOL *pfResult);
2334
2335     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
2336     HRESULT detachEvent(
2337         [in] BSTR event,
2338         [in] IDispatch *pDisp);
2339
2340     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
2341     HRESULT readyState([retval, out] VARIANT *p);
2342
2343     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
2344     HRESULT onreadystatechange([in] VARIANT v);
2345
2346     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
2347     HRESULT onreadystatechange([retval, out] VARIANT *p);
2348
2349     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
2350     HRESULT onrowsdelete([in] VARIANT v);
2351
2352     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
2353     HRESULT onrowsdelete([retval, out] VARIANT *p);
2354
2355     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
2356     HRESULT onrowsinserted([in] VARIANT v);
2357
2358     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
2359     HRESULT onrowsinserted([retval, out] VARIANT *p);
2360
2361     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
2362     HRESULT oncellchange([in] VARIANT v);
2363
2364     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
2365     HRESULT oncellchange([retval, out] VARIANT *p);
2366
2367     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
2368     HRESULT dir([in] BSTR v);
2369
2370     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
2371     HRESULT dir([retval, out] BSTR *p);
2372
2373     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
2374     HRESULT createControlRange([retval, out] IDispatch **range);
2375
2376     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
2377     HRESULT scrollHeight([retval, out] long *p);
2378
2379     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
2380     HRESULT scrollWidth([retval, out] long *p);
2381
2382     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
2383     HRESULT scrollTop([in] long v);
2384
2385     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
2386     HRESULT scrollTop([retval, out] long *p);
2387
2388     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
2389     HRESULT scrollLeft([in] long v);
2390
2391     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
2392     HRESULT scrollLeft([retval, out] long *p);
2393
2394     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
2395     HRESULT clearAttributes();
2396
2397     [id(DISPID_IHTMLELEMENT2_MERGEATTRIBUTES)]
2398     HRESULT mergeAttributes([in] IHTMLElement *mergeThis);
2399
2400     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
2401     HRESULT oncontextmenu([in] VARIANT v);
2402
2403     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
2404     HRESULT oncontextmenu([retval, out] VARIANT *p);
2405
2406     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
2407     HRESULT insertAdjacentElement(
2408         [in] BSTR where,
2409         [in] IHTMLElement *insertedElement,
2410         [retval, out] IHTMLElement **inserted);
2411
2412     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
2413     HRESULT applyElement(
2414         [in] IHTMLElement *apply,
2415         [in] BSTR where,
2416         [retval, out] IHTMLElement **applied);
2417
2418     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
2419     HRESULT getAdjacentText(
2420         [in] BSTR where,
2421         [retval, out] BSTR *text);
2422
2423     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
2424     HRESULT replaceAdjacentText(
2425         [in] BSTR where,
2426         [in] BSTR newText,
2427         [retval, out] BSTR *oldText);
2428
2429     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
2430     HRESULT canHaveChildren([retval, out] VARIANT_BOOL *p);
2431
2432     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
2433     HRESULT addBehavior(
2434         [in] BSTR bstrUrl,
2435         [optional, in] VARIANT *pvarFactory,
2436         [retval, out] long *pCookie);
2437
2438     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
2439     HRESULT removeBehavior(
2440         [in] long cookie,
2441         [retval, out] VARIANT_BOOL *pfResult);
2442
2443     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
2444     HRESULT runtimeStyle([retval, out] IHTMLStyle **p);
2445
2446     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
2447     HRESULT behaviorUrns([retval, out] IDispatch **p);
2448
2449     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
2450     HRESULT tagUrn([in] BSTR v);
2451
2452     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
2453     HRESULT tagUrn([retval, out] BSTR *p);
2454
2455     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
2456     HRESULT onbeforeeditfocus([in] VARIANT v);
2457
2458     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
2459     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
2460
2461     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
2462     HRESULT readyStateValue([retval, out] long *p);
2463
2464     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
2465     HRESULT getElementsByTagName(
2466         [in] BSTR v,
2467         [retval, out] IHTMLElementCollection **pelColl);
2468 }
2469
2470 /*****************************************************************************
2471  *    IHTMLStyleSheetRule interface
2472  */
2473 [
2474     odl,
2475     oleautomation,
2476     dual,
2477     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
2478 ]
2479 interface IHTMLStyleSheetRule : IDispatch
2480 {
2481     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
2482     HRESULT selectorText([in] BSTR v);
2483
2484     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
2485     HRESULT selectorText([retval, out] BSTR *p);
2486
2487     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
2488     HRESULT style([retval, out] IHTMLRuleStyle **p);
2489
2490     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
2491     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
2492 }
2493
2494 /*****************************************************************************
2495  *    IHTMLStyleSheetRulesCollection interface
2496  */
2497 [
2498     odl,
2499     oleautomation,
2500     dual,
2501     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
2502 ]
2503 interface IHTMLStyleSheetRulesCollection : IDispatch
2504 {
2505     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
2506     HRESULT length([retval, out] long *p);
2507
2508     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
2509     HRESULT item(
2510         [in] long index,
2511         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
2512 }
2513
2514 /*****************************************************************************
2515  *    IHTMLStyleSheet interface
2516  */
2517 [
2518     odl,
2519     oleautomation,
2520     dual,
2521     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
2522 ]
2523 interface IHTMLStyleSheet : IDispatch
2524 {
2525     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
2526     HRESULT title([in] BSTR v);
2527
2528     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
2529     HRESULT title([retval, out] BSTR *p);
2530
2531     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
2532     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
2533
2534     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
2535     HRESULT owningElement([retval, out] IHTMLElement **p);
2536
2537     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
2538     HRESULT disabled([in] VARIANT_BOOL v);
2539
2540     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
2541     HRESULT disabled([retval, out] VARIANT_BOOL *p);
2542
2543     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
2544     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
2545
2546     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
2547     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
2548
2549     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
2550     HRESULT href([in] BSTR v);
2551
2552     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
2553     HRESULT href([retval, out] BSTR *p);
2554
2555     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
2556     HRESULT type([retval, out] BSTR *p);
2557
2558     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
2559     HRESULT id([retval, out] BSTR *p);
2560
2561     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
2562     HRESULT addImport(
2563         [in] BSTR bstrURL,
2564         [defaultvalue(-1), in] long lIndex,
2565         [retval, out] long *plIndex);
2566
2567     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
2568     HRESULT addRule(
2569         [in] BSTR bstrSelector,
2570         [in] BSTR bstrStyle,
2571         [defaultvalue(-1), in] long lIndex,
2572         [retval, out] long *plNewIndex);
2573
2574     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
2575     HRESULT removeImport([in] long lIndex);
2576
2577     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
2578     HRESULT removeRule([in] long lIndex);
2579
2580     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
2581     HRESULT media([in] BSTR v);
2582
2583     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
2584     HRESULT media([retval, out] BSTR *p);
2585
2586     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
2587     HRESULT cssText([in] BSTR v);
2588
2589     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
2590     HRESULT cssText([retval, out] BSTR *p);
2591
2592     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
2593     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
2594 }
2595
2596 /*****************************************************************************
2597  *    IHTMLStyleSheetsCollection interface
2598  */
2599 [
2600     odl,
2601     oleautomation,
2602     dual,
2603     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
2604 ]
2605 interface IHTMLStyleSheetsCollection : IDispatch
2606 {
2607     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
2608     HRESULT length([retval, out] long *p);
2609
2610     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
2611     HRESULT _newEnum([retval, out] IUnknown **p);
2612
2613     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
2614     HRESULT item(
2615         [in] VARIANT *pvarIndex,
2616         [retval, out] VARIANT *pvarResult);
2617 }
2618
2619 /*****************************************************************************
2620  *    IHTMLTxtRange interface
2621  */
2622 [
2623     odl,
2624     oleautomation,
2625     dual,
2626     uuid(3050f220-98b5-11cf-bb82-00aa00bdce0b)
2627 ]
2628 interface IHTMLTxtRange : IDispatch
2629 {
2630     [propget, id(DISPID_IHTMLTXTRANGE_HTMLTEXT)]
2631     HRESULT htmlText([retval, out] BSTR *p);
2632
2633     [propput, id(DISPID_IHTMLTXTRANGE_TEXT)]
2634     HRESULT text([in] BSTR v);
2635
2636     [propget, id(DISPID_IHTMLTXTRANGE_TEXT)]
2637     HRESULT text([retval, out] BSTR *p);
2638
2639     [id(DISPID_IHTMLTXTRANGE_PARENTELEMENT)]
2640     HRESULT parentElement([retval, out] IHTMLElement **parent);
2641
2642     [id(DISPID_IHTMLTXTRANGE_DUPLICATE)]
2643     HRESULT duplicate([retval, out] IHTMLTxtRange **Duplicate);
2644
2645     [id(DISPID_IHTMLTXTRANGE_INRANGE)]
2646     HRESULT inRange(
2647         [in] IHTMLTxtRange *Range,
2648         [retval, out] VARIANT_BOOL *InRange);
2649
2650     [id(DISPID_IHTMLTXTRANGE_ISEQUAL)]
2651     HRESULT isEqual(
2652         [in] IHTMLTxtRange *Range,
2653         [retval, out] VARIANT_BOOL *IsEqual);
2654
2655     [id(DISPID_IHTMLTXTRANGE_SCROLLINTOVIEW)]
2656     HRESULT scrollIntoView([defaultvalue(-1), in] VARIANT_BOOL fStart);
2657
2658     [id(DISPID_IHTMLTXTRANGE_COLLAPSE)]
2659     HRESULT collapse([defaultvalue(-1), in] VARIANT_BOOL Start);
2660
2661     [id(DISPID_IHTMLTXTRANGE_EXPAND)]
2662     HRESULT expand(
2663         [in] BSTR Unit,
2664         [retval, out] VARIANT_BOOL *Success);
2665
2666     [id(DISPID_IHTMLTXTRANGE_MOVE)]
2667     HRESULT move(
2668         [in] BSTR Unit,
2669         [defaultvalue(1), in] long Count,
2670         [retval, out] long *ActualCount);
2671
2672     [id(DISPID_IHTMLTXTRANGE_MOVESTART)]
2673     HRESULT moveStart(
2674         [in] BSTR Unit,
2675         [defaultvalue(1), in] long Count,
2676         [retval, out] long *ActualCount);
2677
2678     [id(DISPID_IHTMLTXTRANGE_MOVEEND)]
2679     HRESULT moveEnd(
2680         [in] BSTR Unit,
2681         [defaultvalue(1), in] long Count,
2682         [retval, out] long *ActualCount);
2683
2684     [id(DISPID_IHTMLTXTRANGE_SELECT)]
2685     HRESULT select();
2686
2687     [id(DISPID_IHTMLTXTRANGE_PASTEHTML)]
2688     HRESULT pasteHTML([in] BSTR html);
2689
2690     [id(DISPID_IHTMLTXTRANGE_MOVETOELEMENTTEXT)]
2691     HRESULT moveToElementText([in] IHTMLElement *element);
2692
2693     [id(DISPID_IHTMLTXTRANGE_SETENDPOINT)]
2694     HRESULT setEndPoint(
2695         [in] BSTR how,
2696         [in] IHTMLTxtRange *SourceRange);
2697
2698     [id(DISPID_IHTMLTXTRANGE_COMPAREENDPOINTS)]
2699     HRESULT compareEndPoints(
2700         [in] BSTR how,
2701         [in] IHTMLTxtRange *SourceRange,
2702         [retval, out] long *ret);
2703
2704     [id(DISPID_IHTMLTXTRANGE_FINDTEXT)]
2705     HRESULT findText(
2706         [in] BSTR String,
2707         [defaultvalue(1073741823), in] long count,
2708         [defaultvalue(0), in] long Flags,
2709         [retval, out] VARIANT_BOOL *Success);
2710
2711     [id(DISPID_IHTMLTXTRANGE_MOVETOPOINT)]
2712     HRESULT moveToPoint(
2713         [in] long x,
2714         [in] long y);
2715
2716     [id(DISPID_IHTMLTXTRANGE_GETBOOKMARK)]
2717     HRESULT getBookmark([retval, out] BSTR *Boolmark);
2718
2719     [id(DISPID_IHTMLTXTRANGE_MOVETOBOOKMARK)]
2720     HRESULT moveToBookmark(
2721         [in] BSTR Bookmark,
2722         [retval, out] VARIANT_BOOL *Success);
2723
2724     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSUPPORTED)]
2725     HRESULT queryCommandSupported(
2726         [in] BSTR cmdID,
2727         [retval, out] VARIANT_BOOL *pfRet);
2728
2729     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDENABLED)]
2730     HRESULT queryCommandEnabled(
2731         [in] BSTR cmdID,
2732         [retval, out] VARIANT_BOOL *pfRet);
2733
2734     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDSTATE)]
2735     HRESULT queryCommandState(
2736         [in] BSTR cmdID,
2737         [retval, out] VARIANT_BOOL *pfRet);
2738
2739     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDINDETERM)]
2740     HRESULT queryCommandIndeterm(
2741         [in] BSTR cmdID,
2742         [retval, out] VARIANT_BOOL *pfRet);
2743
2744     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDTEXT)]
2745     HRESULT queryCommandText(
2746         [in] BSTR cmdID,
2747         [retval, out] BSTR *pcmdText);
2748
2749     [id(DISPID_IHTMLTXTRANGE_QUERYCOMMANDVALUE)]
2750     HRESULT queryCommandValue(
2751         [in] BSTR cmdID,
2752         [retval, out] VARIANT *pcmdValue);
2753
2754     [id(DISPID_IHTMLTXTRANGE_EXECCOMMAND)]
2755     HRESULT execCommand(
2756         [in] BSTR cmdID,
2757         [defaultvalue(0), in] VARIANT_BOOL showUI,
2758         [optional, in] VARIANT value,
2759         [retval, out] VARIANT_BOOL *pfRet);
2760
2761     [id(DISPID_IHTMLTXTRANGE_EXECCOMMANDSHOWHELP)]
2762     HRESULT execCommandShowHelp(
2763         [in] BSTR cmdID,
2764         [retval, out] VARIANT_BOOL *pfRet);
2765 }
2766
2767 /*****************************************************************************
2768  *    IHTMLFormElement interface
2769  */
2770 [
2771     odl,
2772     oleautomation,
2773     dual,
2774     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
2775 ]
2776 interface IHTMLFormElement : IDispatch
2777 {
2778     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
2779     HRESULT action([in] BSTR v);
2780
2781     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
2782     HRESULT action([retval, out] BSTR *p);
2783
2784     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
2785     HRESULT dir([in] BSTR v);
2786
2787     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
2788     HRESULT dir([retval, out] BSTR *p);
2789
2790     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
2791     HRESULT encoding([in] BSTR v);
2792
2793     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
2794     HRESULT encoding([retval, out] BSTR *p);
2795
2796     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
2797     HRESULT method([in] BSTR v);
2798
2799     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
2800     HRESULT method([retval, out] BSTR *p);
2801
2802     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
2803     HRESULT elements([retval, out] IDispatch **p);
2804
2805     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
2806     HRESULT target([in] BSTR v);
2807
2808     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
2809     HRESULT target([retval, out] BSTR *p);
2810
2811     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
2812     HRESULT name([in] BSTR v);
2813
2814     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
2815     HRESULT name([retval, out] BSTR *p);
2816
2817     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
2818     HRESULT onsubmit([in] VARIANT v);
2819
2820     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
2821     HRESULT onsubmit([retval, out] VARIANT *p);
2822
2823     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
2824     HRESULT onreset([in] VARIANT v);
2825
2826     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
2827     HRESULT onreset([retval, out] VARIANT *p);
2828
2829     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
2830     HRESULT submit();
2831
2832     [id(DISPID_IHTMLFORMELEMENT_RESET)]
2833     HRESULT reset();
2834
2835     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
2836     HRESULT length([in] long v);
2837
2838     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
2839     HRESULT length([retval, out] long *p);
2840
2841     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
2842     HRESULT _newEnum([retval, out] IUnknown **p);
2843
2844     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
2845     HRESULT item(
2846         [optional, in] VARIANT name,
2847         [optional, in] VARIANT index,
2848         [retval, out] IDispatch **pdisp);
2849
2850     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
2851     HRESULT tags(
2852         [in] VARIANT tagName,
2853         [retval, out] IDispatch **pdisp);
2854 }
2855
2856 /*****************************************************************************
2857  *    IHTMLTextContainer interface
2858  */
2859 [
2860     odl,
2861     oleautomation,
2862     dual,
2863     uuid(3050f230-98b5-11cf-bb82-00aa00bdce0b)
2864 ]
2865 interface IHTMLTextContainer : IDispatch
2866 {
2867     [id(DISPID_IHTMLTEXTCONTAINER_CREATECONTROLRANGE)]
2868     HRESULT createControlRange([retval, out] IDispatch **range);
2869
2870     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLHEIGHT), displaybind, bindable]
2871     HRESULT scrollHeight([retval, out] long *p);
2872
2873     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLWIDTH), displaybind, bindable]
2874     HRESULT scrollWidth([retval, out] long *p);
2875
2876     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
2877     HRESULT scrollTop([in] long v);
2878
2879     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLTOP), displaybind, bindable]
2880     HRESULT scrollTop([retval, out] long *p);
2881
2882     [propput, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
2883     HRESULT scrollLeft([in] long v);
2884
2885     [propget, id(DISPID_IHTMLTEXTCONTAINER_SCROLLLEFT), displaybind, bindable]
2886     HRESULT scrollLeft([retval, out] long *p);
2887
2888     [propput, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
2889     HRESULT onscroll([in] VARIANT v);
2890
2891     [propget, id(DISPID_IHTMLTEXTCONTAINER_ONSCROLL), displaybind, bindable]
2892     HRESULT onscroll([retval, out] VARIANT *p);
2893 }
2894
2895 /*****************************************************************************
2896  *    IHTMLImgElement interface
2897  */
2898 [
2899     odl,
2900     oleautomation,
2901     dual,
2902     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
2903 ]
2904 interface IHTMLImgElement : IDispatch
2905 {
2906     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
2907     HRESULT isMap([in] VARIANT_BOOL v);
2908
2909     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
2910     HRESULT isMap([retval, out] VARIANT_BOOL *p);
2911
2912     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
2913     HRESULT useMap([in] BSTR v);
2914
2915     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
2916     HRESULT useMap([retval, out] BSTR *p);
2917
2918     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
2919     HRESULT mimeType([retval, out] BSTR *p);
2920
2921     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
2922     HRESULT fileSize([retval, out] BSTR *p);
2923
2924     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
2925     HRESULT fileCreatedDate([retval, out] BSTR *p);
2926
2927     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
2928     HRESULT fileModifiedDate([retval, out] BSTR *p);
2929
2930     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
2931     HRESULT fileUpdatedDate([retval, out] BSTR *p);
2932
2933     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
2934     HRESULT protocol([retval, out] BSTR *p);
2935
2936     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
2937     HRESULT href([retval, out] BSTR *p);
2938
2939     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
2940     HRESULT nameProp([retval, out] BSTR *p);
2941
2942     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
2943     HRESULT border([in] VARIANT v);
2944
2945     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
2946     HRESULT border([retval, out] VARIANT *p);
2947
2948     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
2949     HRESULT vspace([in] long v);
2950
2951     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
2952     HRESULT vspace([retval, out] long *p);
2953
2954     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
2955     HRESULT hspace([in] long v);
2956
2957     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
2958     HRESULT hspace([retval, out] long *p);
2959
2960     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
2961     HRESULT alt([in] BSTR v);
2962
2963     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
2964     HRESULT alt([retval, out] BSTR *p);
2965
2966     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
2967     HRESULT src([in] BSTR v);
2968
2969     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
2970     HRESULT src([retval, out] BSTR *p);
2971
2972     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
2973     HRESULT lowsrc([in] BSTR v);
2974
2975     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
2976     HRESULT lowsrc([retval, out] BSTR *p);
2977
2978     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
2979     HRESULT vrml([in] BSTR v);
2980
2981     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
2982     HRESULT vrml([retval, out] BSTR *p);
2983
2984     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
2985     HRESULT dynsrc([in] BSTR v);
2986
2987     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
2988     HRESULT dynsrc([retval, out] BSTR *p);
2989
2990     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
2991     HRESULT readyState([retval, out] BSTR *p);
2992
2993     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
2994     HRESULT complete([retval, out] VARIANT_BOOL *p);
2995
2996     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
2997     HRESULT loop([in] VARIANT v);
2998
2999     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
3000     HRESULT loop([retval, out] VARIANT *p);
3001
3002     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
3003     HRESULT align([in] BSTR v);
3004
3005     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
3006     HRESULT align([retval, out] BSTR *p);
3007
3008     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
3009     HRESULT onload([in] VARIANT v);
3010
3011     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
3012     HRESULT onload([retval, out] VARIANT *p);
3013
3014     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
3015     HRESULT onerror([in] VARIANT v);
3016
3017     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
3018     HRESULT onerror([retval, out] VARIANT *p);
3019
3020     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
3021     HRESULT onabort([in] VARIANT v);
3022
3023     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
3024     HRESULT onabort([retval, out] VARIANT *p);
3025
3026     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
3027     HRESULT name([in] BSTR v);
3028
3029     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
3030     HRESULT name([retval, out] BSTR *p);
3031
3032     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
3033     HRESULT width([in] long v);
3034
3035     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
3036     HRESULT width([retval, out] long *p);
3037
3038     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
3039     HRESULT height([in] long v);
3040
3041     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
3042     HRESULT height([retval, out] long *p);
3043
3044     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
3045     HRESULT start([in] BSTR v);
3046
3047     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
3048     HRESULT start([retval, out] BSTR *p);
3049 }
3050
3051 /*****************************************************************************
3052  *    IHTMLImageElementFactory interface
3053  */
3054 [
3055     odl,
3056     oleautomation,
3057     dual,
3058     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
3059 ]
3060 interface IHTMLImageElementFactory : IDispatch
3061 {
3062     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
3063     HRESULT create(
3064         [optional, in] VARIANT width,
3065         [optional, in] VARIANT height,
3066         [retval, out]  IHTMLImgElement **elem);
3067 }
3068
3069 /*****************************************************************************
3070  *    IHTMLBodyElement interface
3071  */
3072 [
3073     odl,
3074     oleautomation,
3075     dual,
3076     uuid(3050f1d8-98b5-11cf-bb82-00aa00bdce0b)
3077 ]
3078 interface IHTMLBodyElement : IDispatch
3079 {
3080     [propput, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
3081     HRESULT background([in] BSTR v);
3082
3083     [propget, id(DISPID_IHTMLBODYELEMENT_BACKGROUND), displaybind, bindable]
3084     HRESULT background([retval, out] BSTR *p);
3085
3086     [propput, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
3087     HRESULT bgProperties([in] BSTR v);
3088
3089     [propget, id(DISPID_IHTMLBODYELEMENT_BGPROPERTIES), displaybind, bindable]
3090     HRESULT bgProperties([retval, out] BSTR *p);
3091
3092     [propput, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
3093     HRESULT leftMargin([in] VARIANT v);
3094
3095     [propget, id(DISPID_IHTMLBODYELEMENT_LEFTMARGIN), displaybind, bindable]
3096     HRESULT leftMargin([retval, out] VARIANT *p);
3097
3098     [propput, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
3099     HRESULT topMargin([in] VARIANT v);
3100
3101     [propget, id(DISPID_IHTMLBODYELEMENT_TOPMARGIN), displaybind, bindable]
3102     HRESULT topMargin([retval, out] VARIANT *p);
3103
3104     [propput, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
3105     HRESULT rightMargin([in] VARIANT v);
3106
3107     [propget, id(DISPID_IHTMLBODYELEMENT_RIGHTMARGIN), displaybind, bindable]
3108     HRESULT rightMargin([retval, out] VARIANT *p);
3109
3110     [propput, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
3111     HRESULT bottomMargin([in] VARIANT v);
3112
3113     [propget, id(DISPID_IHTMLBODYELEMENT_BOTTOMMARGIN), displaybind, bindable]
3114     HRESULT bottomMargin([retval, out] VARIANT *p);
3115
3116     [propput, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
3117     HRESULT noWrap([in] VARIANT_BOOL v);
3118
3119     [propget, id(DISPID_IHTMLBODYELEMENT_NOWRAP), displaybind, bindable]
3120     HRESULT noWrap([retval, out] VARIANT_BOOL *p);
3121
3122     [propput, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
3123     HRESULT bgColor([in] VARIANT v);
3124
3125     [propget, id(DISPID_IHTMLBODYELEMENT_BGCOLOR), displaybind, bindable]
3126     HRESULT bgColor([retval, out] VARIANT *p);
3127
3128     [propput, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
3129     HRESULT text([in] VARIANT v);
3130
3131     [propget, id(DISPID_IHTMLBODYELEMENT_TEXT), displaybind, bindable]
3132     HRESULT text([retval, out] VARIANT *p);
3133
3134     [propput, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
3135     HRESULT link([in] VARIANT v);
3136
3137     [propget, id(DISPID_IHTMLBODYELEMENT_LINK), displaybind, bindable]
3138     HRESULT link([retval, out] VARIANT *p);
3139
3140     [propput, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
3141     HRESULT vLink([in] VARIANT v);
3142
3143     [propget, id(DISPID_IHTMLBODYELEMENT_VLINK), displaybind, bindable]
3144     HRESULT vLink([retval, out] VARIANT *p);
3145
3146     [propput, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
3147     HRESULT aLink([in] VARIANT v);
3148
3149     [propget, id(DISPID_IHTMLBODYELEMENT_ALINK), displaybind, bindable]
3150     HRESULT aLink([retval, out] VARIANT *p);
3151
3152     [propput, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
3153     HRESULT onload([in] VARIANT v);
3154
3155     [propget, id(DISPID_IHTMLBODYELEMENT_ONLOAD), displaybind, bindable]
3156     HRESULT onload([retval, out] VARIANT *p);
3157
3158     [propput, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
3159     HRESULT onunload([in] VARIANT v);
3160
3161     [propget, id(DISPID_IHTMLBODYELEMENT_ONUNLOAD), displaybind, bindable]
3162     HRESULT onunload([retval, out] VARIANT *p);
3163
3164     [propput, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
3165     HRESULT scroll([in] BSTR v);
3166
3167     [propget, id(DISPID_IHTMLBODYELEMENT_SCROLL), displaybind, bindable]
3168     HRESULT scroll([retval, out] BSTR *p);
3169
3170     [propput, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
3171     HRESULT onselect([in] VARIANT v);
3172
3173     [propget, id(DISPID_IHTMLBODYELEMENT_ONSELECT), displaybind, bindable]
3174     HRESULT onselect([retval, out] VARIANT *p);
3175
3176     [propput, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
3177     HRESULT onbeforeunload([in] VARIANT v);
3178
3179     [propget, id(DISPID_IHTMLBODYELEMENT_ONBEFOREUNLOAD), displaybind, bindable]
3180     HRESULT onbeforeunload([retval, out] VARIANT *p);
3181
3182     [id(DISPID_IHTMLBODYELEMENT_CREATETEXTRANGE)]
3183     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
3184 }
3185
3186 /*****************************************************************************
3187  *    IHTMLBodyElement2 interface
3188  */
3189 [
3190     odl,
3191     oleautomation,
3192     dual,
3193     uuid(3050f5c5-98b5-11cf-bb82-00aa00bdce0b)
3194 ]
3195 interface IHTMLBodyElement2 : IDispatch
3196 {
3197     [propput, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
3198     HRESULT onbeforeprint([in] VARIANT v);
3199
3200     [propget, id(DISPID_IHTMLBODYELEMENT2_ONBEFOREPRINT), displaybind, bindable]
3201     HRESULT onbeforeprint([retval, out] VARIANT *p);
3202
3203     [propput, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
3204     HRESULT onafterprint([in] VARIANT v);
3205
3206     [propget, id(DISPID_IHTMLBODYELEMENT2_ONAFTERPRINT), displaybind, bindable]
3207     HRESULT onafterprint([retval, out] VARIANT *p);
3208 }
3209
3210 /*****************************************************************************
3211  *    IHTMLAnchorElement interface
3212  */
3213 [
3214     odl,
3215     oleautomation,
3216     dual,
3217     uuid(3050f1da-98b5-11cf-bb82-00aa00bdce0b)
3218 ]
3219 interface IHTMLAnchorElement : IDispatch
3220 {
3221     [propput, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
3222     HRESULT href([in] BSTR v);
3223
3224     [propget, id(DISPID_IHTMLANCHORELEMENT_HREF), displaybind, bindable]
3225     HRESULT href([retval, out] BSTR *p);
3226
3227     [propput, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
3228     HRESULT target([in] BSTR v);
3229
3230     [propget, id(DISPID_IHTMLANCHORELEMENT_TARGET), displaybind, bindable]
3231     HRESULT target([retval, out] BSTR *p);
3232
3233     [propput, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
3234     HRESULT rel([in] BSTR v);
3235
3236     [propget, id(DISPID_IHTMLANCHORELEMENT_REL), displaybind, bindable]
3237     HRESULT rel([retval, out] BSTR *p);
3238
3239     [propput, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
3240     HRESULT rev([in] BSTR v);
3241
3242     [propget, id(DISPID_IHTMLANCHORELEMENT_REV), displaybind, bindable]
3243     HRESULT rev([retval, out] BSTR *p);
3244
3245     [propput, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
3246     HRESULT urn([in] BSTR v);
3247
3248     [propget, id(DISPID_IHTMLANCHORELEMENT_URN), displaybind, bindable]
3249     HRESULT urn([retval, out] BSTR *p);
3250
3251     [propput, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
3252     HRESULT Methods([in] BSTR v);
3253
3254     [propget, id(DISPID_IHTMLANCHORELEMENT_METHODS), displaybind, bindable]
3255     HRESULT Methods([retval, out] BSTR *p);
3256
3257     [propput, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
3258     HRESULT name([in] BSTR v);
3259
3260     [propget, id(DISPID_IHTMLANCHORELEMENT_NAME), displaybind, bindable]
3261     HRESULT name([retval, out] BSTR *p);
3262
3263     [propput, id(DISPID_IHTMLANCHORELEMENT_HOST)]
3264     HRESULT host([in] BSTR v);
3265
3266     [propget, id(DISPID_IHTMLANCHORELEMENT_HOST)]
3267     HRESULT host([retval, out] BSTR *p);
3268
3269     [propput, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
3270     HRESULT hostname([in] BSTR v);
3271
3272     [propget, id(DISPID_IHTMLANCHORELEMENT_HOSTNAME)]
3273     HRESULT hostname([retval, out] BSTR *p);
3274
3275     [propput, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
3276     HRESULT pathname([in] BSTR v);
3277
3278     [propget, id(DISPID_IHTMLANCHORELEMENT_PATHNAME)]
3279     HRESULT pathname([retval, out] BSTR *p);
3280
3281     [propput, id(DISPID_IHTMLANCHORELEMENT_PORT)]
3282     HRESULT port([in] BSTR v);
3283
3284     [propget, id(DISPID_IHTMLANCHORELEMENT_PORT)]
3285     HRESULT port([retval, out] BSTR *p);
3286
3287     [propput, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
3288     HRESULT protocol([in] BSTR v);
3289
3290     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOL)]
3291     HRESULT protocol([retval, out] BSTR *p);
3292
3293     [propput, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
3294     HRESULT search([in] BSTR v);
3295
3296     [propget, id(DISPID_IHTMLANCHORELEMENT_SEARCH)]
3297     HRESULT search([retval, out] BSTR *p);
3298
3299     [propput, id(DISPID_IHTMLANCHORELEMENT_HASH)]
3300     HRESULT hash([in] BSTR v);
3301
3302     [propget, id(DISPID_IHTMLANCHORELEMENT_HASH)]
3303     HRESULT hash([retval, out] BSTR *p);
3304
3305     [propput, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
3306     HRESULT onblur([in] VARIANT v);
3307
3308     [propget, id(DISPID_IHTMLANCHORELEMENT_ONBLUR), displaybind, bindable]
3309     HRESULT onblur([retval, out] VARIANT *p);
3310
3311     [propput, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
3312     HRESULT onfocus([in] VARIANT v);
3313
3314     [propget, id(DISPID_IHTMLANCHORELEMENT_ONFOCUS), displaybind, bindable]
3315     HRESULT onfocus([retval, out] VARIANT *p);
3316
3317     [propput, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
3318     HRESULT accessKey([in] BSTR v);
3319
3320     [propget, id(DISPID_IHTMLANCHORELEMENT_ACCESSKEY), displaybind, bindable]
3321     HRESULT accessKey([retval, out] BSTR *p);
3322
3323     [propget, id(DISPID_IHTMLANCHORELEMENT_PROTOCOLLONG)]
3324     HRESULT protocolLong([retval, out] BSTR *p);
3325
3326     [propget, id(DISPID_IHTMLANCHORELEMENT_MIMETYPE)]
3327     HRESULT mimeType([retval, out] BSTR *p);
3328
3329     [propget, id(DISPID_IHTMLANCHORELEMENT_NAMEPROP)]
3330     HRESULT nameProp([retval, out] BSTR *p);
3331
3332     [propput, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
3333     HRESULT tabIndex([in] short v);
3334
3335     [propget, id(DISPID_IHTMLANCHORELEMENT_TABINDEX), displaybind, bindable]
3336     HRESULT tabIndex([retval, out] short *p);
3337
3338     [id(DISPID_IHTMLANCHORELEMENT_FOCUS)]
3339     HRESULT focus();
3340
3341     [id(DISPID_IHTMLANCHORELEMENT_BLUR)]
3342     HRESULT blur();
3343 }
3344
3345 /*****************************************************************************
3346  *    IHTMLElementCollection interface
3347  */
3348 [
3349     odl,
3350     oleautomation,
3351     dual,
3352     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
3353 ]
3354 interface IHTMLElementCollection : IDispatch
3355 {
3356     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
3357     HRESULT toString([retval, out] BSTR *String);
3358
3359     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
3360     HRESULT length([in] long v);
3361
3362     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
3363     HRESULT length([retval, out] long *p);
3364
3365     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
3366     HRESULT _newEnum([retval, out] IUnknown **p);
3367
3368     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
3369     HRESULT item(
3370         [optional, in] VARIANT name,
3371         [optional, in] VARIANT index,
3372         [retval,  out] IDispatch **pdisp);
3373
3374     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
3375     HRESULT tags(
3376         [in] VARIANT tagName,
3377         [retval, out] IDispatch **pdisp);
3378 }
3379
3380 /*****************************************************************************
3381  *    DispHTMLElementCollection dispinterface
3382  */
3383 [
3384     hidden,
3385     uuid(3050f56b-98b5-11cf-bb82-00aa00bdce0b)
3386 ]
3387 dispinterface DispHTMLElementCollection
3388 {
3389 properties:
3390 methods:
3391     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
3392     BSTR toString();
3393
3394     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
3395     void length(long v);
3396
3397     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
3398     long length();
3399
3400     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM), hidden, restricted]
3401     IUnknown *_newEnum();
3402
3403     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
3404     IDispatch *item(
3405             [in, optional] VARIANT name,
3406             [in, optional] VARIANT index);
3407
3408     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
3409     IDispatch *tags(
3410             [in] VARIANT tagName);
3411
3412     [id(DISPID_IHTMLELEMENTCOLLECTION2_URNS)]
3413     IDispatch *urns([in] VARIANT urn);
3414
3415     [id(DISPID_IHTMLELEMENTCOLLECTION3_NAMEDITEM)]
3416     IDispatch *namedItem([in] BSTR name);
3417 }
3418
3419 /*****************************************************************************
3420  *    IHTMLSelectElement interface
3421  */
3422 [
3423     odl,
3424     oleautomation,
3425     dual,
3426     uuid(3050f244-98b5-11cf-bb82-00aa00bdce0b)
3427 ]
3428 interface IHTMLSelectElement : IDispatch
3429 {
3430     [propput, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
3431     HRESULT size([in] long v);
3432
3433     [propget, id(DISPID_IHTMLSELECTELEMENT_SIZE), displaybind, bindable]
3434     HRESULT size([retval, out] long *p);
3435
3436     [propput, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
3437     HRESULT multiple([in] VARIANT_BOOL v);
3438
3439     [propget, id(DISPID_IHTMLSELECTELEMENT_MULTIPLE), displaybind, bindable]
3440     HRESULT multiple([retval, out] VARIANT_BOOL *p);
3441
3442     [propput, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
3443     HRESULT name([in] BSTR v);
3444
3445     [propget, id(DISPID_IHTMLSELECTELEMENT_NAME), displaybind, bindable]
3446     HRESULT name([retval, out] BSTR *p);
3447
3448     [propget, id(DISPID_IHTMLSELECTELEMENT_OPTIONS)]
3449     HRESULT options([retval, out] IDispatch **p);
3450
3451     [propput, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
3452     HRESULT onchange([in] VARIANT v);
3453
3454     [propget, id(DISPID_IHTMLSELECTELEMENT_ONCHANGE), displaybind, bindable]
3455     HRESULT onchange([retval, out] VARIANT *p);
3456
3457     [propput, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
3458     HRESULT selectedIndex([in] long v);
3459
3460     [propget, id(DISPID_IHTMLSELECTELEMENT_SELECTEDINDEX)]
3461     HRESULT selectedIndex([retval, out] long *p);
3462
3463     [propget, id(DISPID_IHTMLSELECTELEMENT_TYPE), displaybind, bindable]
3464     HRESULT type([retval, out] BSTR *p);
3465
3466     [propput, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
3467     HRESULT value([in] BSTR v);
3468
3469     [propget, id(DISPID_IHTMLSELECTELEMENT_VALUE), displaybind, bindable]
3470     HRESULT value([retval, out] BSTR *p);
3471
3472     [propput, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
3473     HRESULT disabled([in] VARIANT_BOOL v);
3474
3475     [propget, id(DISPID_IHTMLSELECTELEMENT_DISABLED), displaybind, bindable]
3476     HRESULT disabled([retval, out] VARIANT_BOOL *p);
3477
3478     [propget, id(DISPID_IHTMLSELECTELEMENT_FORM)]
3479     HRESULT form([retval, out] IHTMLFormElement **p);
3480
3481     [id(DISPID_IHTMLSELECTELEMENT_ADD)]
3482     HRESULT add(
3483         [in] IHTMLElement *element,
3484         [optional, in] VARIANT before);
3485
3486     [id(DISPID_IHTMLSELECTELEMENT_REMOVE)]
3487     HRESULT remove([defaultvalue(-1), in] long index);
3488
3489     [propput, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
3490     HRESULT length([in] long v);
3491
3492     [propget, id(DISPID_IHTMLSELECTELEMENT_LENGTH)]
3493     HRESULT length([retval, out] long *p);
3494
3495     [propget, id(DISPID_IHTMLSELECTELEMENT__NEWENUM), hidden, restricted]
3496     HRESULT _newEnum([retval, out] IUnknown **p);
3497
3498     [id(DISPID_IHTMLSELECTELEMENT_ITEM)]
3499     HRESULT item(
3500         [optional, in] VARIANT name,
3501         [optional, in] VARIANT index,
3502         [retval, out] IDispatch **pdisp);
3503
3504     [id(DISPID_IHTMLSELECTELEMENT_TAGS)]
3505     HRESULT tags(
3506         [in] VARIANT tagName,
3507         [retval, out] IDispatch **pdisp);
3508 }
3509
3510 /*****************************************************************************
3511  *    IHTMLSelectionObject interface
3512  */
3513 [
3514     odl,
3515     oleautomation,
3516     dual,
3517     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
3518 ]
3519 interface IHTMLSelectionObject : IDispatch
3520 {
3521     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
3522     HRESULT createRange([retval, out] IDispatch **range);
3523
3524     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
3525     HRESULT empty();
3526
3527     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
3528     HRESULT clear();
3529
3530     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
3531     HRESULT type([retval, out] BSTR *p);
3532 }
3533
3534 /*****************************************************************************
3535  *    IHTMLOptionElement interface
3536  */
3537 [
3538     odl,
3539     oleautomation,
3540     dual,
3541     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
3542 ]
3543 interface IHTMLOptionElement : IDispatch
3544 {
3545     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
3546     HRESULT selected([in] VARIANT_BOOL v);
3547
3548     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
3549     HRESULT selected([retval, out] VARIANT_BOOL *p);
3550
3551     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
3552     HRESULT value([in] BSTR v);
3553
3554     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
3555     HRESULT value([retval, out] BSTR *p);
3556
3557     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
3558     HRESULT defaultSelected([in] VARIANT_BOOL v);
3559
3560     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
3561     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
3562
3563     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
3564     HRESULT index([in] LONG v);
3565
3566     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
3567     HRESULT index([retval, out] LONG *p);
3568
3569     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
3570     HRESULT text([in] BSTR v);
3571
3572     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
3573     HRESULT text([retval, out] BSTR *p);
3574
3575     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
3576     HRESULT form([retval, out] IHTMLFormElement **p);
3577 }
3578
3579 /*****************************************************************************
3580  *    IHTMLOptionElementFactory interface
3581  */
3582 [
3583     odl,
3584     oleautomation,
3585     dual,
3586     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
3587 ]
3588 interface IHTMLOptionElementFactory : IDispatch
3589 {
3590     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
3591     HRESULT create(
3592         [optional, in] VARIANT text,
3593         [optional, in] VARIANT value,
3594         [optional, in] VARIANT defaultselected,
3595         [optional, in] VARIANT selected,
3596         [retval, out] IHTMLOptionElement **optelem);
3597 }
3598
3599 /*****************************************************************************
3600  *    IHTMLInputElement interface
3601  */
3602 [
3603     odl,
3604     oleautomation,
3605     dual,
3606     uuid(3050f5d2-98b5-11cf-bb82-00aa00bdce0b)
3607 ]
3608 interface IHTMLInputElement : IDispatch
3609 {
3610     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
3611     HRESULT type([in] BSTR v);
3612
3613     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
3614     HRESULT type([retval, out] BSTR *p);
3615
3616     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
3617     HRESULT value([in] BSTR v);
3618
3619     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
3620     HRESULT value([retval, out] BSTR *p);
3621
3622     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
3623     HRESULT name([in] BSTR v);
3624
3625     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
3626     HRESULT name([retval, out] BSTR *p);
3627
3628     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
3629     HRESULT status([in] VARIANT_BOOL v);
3630
3631     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
3632     HRESULT status([retval, out] VARIANT_BOOL *p);
3633
3634     [propput, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
3635     HRESULT disabled([in] VARIANT_BOOL v);
3636
3637     [propget, id(DISPID_IHTMLINPUTELEMENT_DISABLED), displaybind, bindable]
3638     HRESULT disabled([retval, out] VARIANT_BOOL *p);
3639
3640     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
3641     HRESULT form([retval, out] IHTMLFormElement **p);
3642
3643     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
3644     HRESULT size([in] long v);
3645
3646     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
3647     HRESULT size([retval, out] long *p);
3648
3649     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
3650     HRESULT maxLength([in] long v);
3651
3652     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
3653     HRESULT maxLength([retval, out] long *p);
3654
3655     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
3656     HRESULT select();
3657
3658     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
3659     HRESULT onchange([in] VARIANT v);
3660
3661     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
3662     HRESULT onchange([retval, out] VARIANT *p);
3663
3664     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
3665     HRESULT onselect([in] VARIANT v);
3666
3667     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
3668     HRESULT onselect([retval, out] VARIANT *p);
3669
3670     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
3671     HRESULT defaultValue([in] BSTR v);
3672
3673     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
3674     HRESULT defaultValue([retval, out] BSTR *p);
3675
3676     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
3677     HRESULT readOnly([in] VARIANT_BOOL v);
3678
3679     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
3680     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
3681
3682     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
3683     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
3684
3685     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
3686     HRESULT indeterminate([in] VARIANT_BOOL v);
3687
3688     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
3689     HRESULT indeterminate([retval, out] VARIANT_BOOL *p);
3690
3691     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
3692     HRESULT defaultChecked([in] VARIANT_BOOL v);
3693
3694     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
3695     HRESULT defaultChecked([retval, out] VARIANT_BOOL *p);
3696
3697     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
3698     HRESULT checked([in] VARIANT_BOOL v);
3699
3700     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
3701     HRESULT checked([retval, out] VARIANT_BOOL *p);
3702
3703     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
3704     HRESULT border([in] VARIANT v);
3705
3706     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
3707     HRESULT border([retval, out] VARIANT *p);
3708
3709     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
3710     HRESULT vspace([in] long v);
3711
3712     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
3713     HRESULT vspace([retval, out] long *p);
3714
3715     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
3716     HRESULT hspace([in] long v);
3717
3718     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
3719     HRESULT hspace([retval, out] long *p);
3720
3721     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
3722     HRESULT alt([in] BSTR v);
3723
3724     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
3725     HRESULT alt([retval, out] BSTR *p);
3726
3727     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
3728     HRESULT src([in] BSTR v);
3729
3730     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
3731     HRESULT src([retval, out] BSTR *p);
3732
3733     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
3734     HRESULT lowsrc([in] BSTR v);
3735
3736     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
3737     HRESULT lowsrc([retval, out] BSTR *p);
3738
3739     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
3740     HRESULT vrml([in] BSTR v);
3741
3742     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
3743     HRESULT vrml([retval, out] BSTR *p);
3744
3745     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
3746     HRESULT dynsrc([in] BSTR v);
3747
3748     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
3749     HRESULT dynsrc([retval, out] BSTR *p);
3750
3751     [propget, id(DISPID_IHTMLINPUTELEMENT_READYSTATE)]
3752     HRESULT readyState([retval, out] BSTR *p);
3753
3754     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
3755     HRESULT complete([retval, out] VARIANT_BOOL *p);
3756
3757     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
3758     HRESULT loop([in] VARIANT v);
3759
3760     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
3761     HRESULT loop([retval, out] VARIANT *p);
3762
3763     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
3764     HRESULT align([in] BSTR v);
3765
3766     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
3767     HRESULT align([retval, out] BSTR *p);
3768
3769     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
3770     HRESULT onload([in] VARIANT v);
3771
3772     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
3773     HRESULT onload([retval, out] VARIANT *p);
3774
3775     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
3776     HRESULT onerror([in] VARIANT v);
3777
3778     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
3779     HRESULT onerror([retval, out] VARIANT *p);
3780
3781     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
3782     HRESULT onabort([in] VARIANT v);
3783
3784     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
3785     HRESULT onabort([retval, out] VARIANT *p);
3786
3787     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
3788     HRESULT width([in] long v);
3789
3790     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
3791     HRESULT width([retval, out] long *p);
3792
3793     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
3794     HRESULT height([in] long v);
3795
3796     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
3797     HRESULT height([retval, out] long *p);
3798
3799     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
3800     HRESULT start([in] BSTR v);
3801
3802     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
3803     HRESULT start([retval, out] BSTR *p);
3804 }
3805
3806 /*****************************************************************************
3807  *    IHTMLInputTextElement interface
3808  */
3809 [
3810     odl,
3811     oleautomation,
3812     dual,
3813     uuid(3050f2a6-98b5-11cf-bb82-00aa00bdce0b)
3814 ]
3815 interface IHTMLInputTextElement : IDispatch
3816 {
3817     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_TYPE)]
3818     HRESULT type([retval, out] BSTR *p);
3819
3820     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
3821     HRESULT value([in] BSTR v);
3822
3823     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_VALUE), displaybind, bindable]
3824     HRESULT value([retval, out] BSTR *p);
3825
3826     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
3827     HRESULT name([in] BSTR v);
3828
3829     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_NAME), displaybind, bindable]
3830     HRESULT name([retval, out] BSTR *p);
3831
3832     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
3833     HRESULT status([in] VARIANT v);
3834
3835     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_STATUS)]
3836     HRESULT status([retval, out] VARIANT *p);
3837
3838     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
3839     HRESULT disabled([in] VARIANT_BOOL v);
3840
3841     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DISABLED), displaybind, bindable]
3842     HRESULT disabled([retval, out] VARIANT_BOOL *p);
3843
3844     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_FORM)]
3845     HRESULT form([retval, out] IHTMLFormElement **p);
3846
3847     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
3848     HRESULT defaultValue([in] BSTR v);
3849
3850     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
3851     HRESULT defaultValue([retval, out] BSTR *p);
3852
3853     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
3854     HRESULT size([in] long v);
3855
3856     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_SIZE), displaybind, bindable]
3857     HRESULT size([retval, out] long *p);
3858
3859     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
3860     HRESULT maxLength([in] long v);
3861
3862     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_MAXLENGTH), displaybind, bindable]
3863     HRESULT maxLength([retval, out] long *p);
3864
3865     [id(DISPID_IHTMLINPUTTEXTELEMENT_SELECT)]
3866     HRESULT select();
3867
3868     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
3869     HRESULT onchange([in] VARIANT v);
3870
3871     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONCHANGE), displaybind, bindable]
3872     HRESULT onchange([retval, out] VARIANT *p);
3873
3874     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
3875     HRESULT onselect([in] VARIANT v);
3876
3877     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_ONSELECT), displaybind, bindable]
3878     HRESULT onselect([retval, out] VARIANT *p);
3879
3880     [propput, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
3881     HRESULT readOnly([in] VARIANT_BOOL v);
3882
3883     [propget, id(DISPID_IHTMLINPUTTEXTELEMENT_READONLY), displaybind, bindable]
3884     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
3885
3886     [id(DISPID_IHTMLINPUTTEXTELEMENT_CREATETEXTRANGE)]
3887     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
3888 }
3889
3890 [
3891     hidden,
3892     uuid(3050f57d-98b5-11cf-bb82-00aa00bdce0b)
3893 ]
3894 dispinterface DispHTMLInputElement
3895 {
3896 properties:
3897 methods:
3898     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
3899     void setAttribute(
3900             [in] BSTR strAttributeName,
3901             [in] VARIANT AttributeValue,
3902             [in, defaultvalue(1)] LONG lFlags);
3903
3904     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
3905     VARIANT getAttribute(
3906              [in] BSTR strAttributeName,
3907              [in, defaultvalue(0)] LONG lFlags);
3908
3909     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
3910     VARIANT_BOOL removeAttribute(
3911             [in] BSTR strAttributeName,
3912             [in, defaultvalue(1)] LONG lFlags);
3913
3914     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
3915     void className(BSTR v);
3916
3917     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
3918     BSTR className();
3919
3920     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
3921     void id(BSTR v);
3922
3923     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
3924     BSTR id();
3925
3926     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
3927     BSTR tagName();
3928
3929     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
3930     IHTMLElement *parentElement();
3931
3932     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
3933     IHTMLStyle *style();
3934
3935     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
3936     void onhelp(VARIANT v);
3937
3938     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
3939     VARIANT onhelp();
3940
3941     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
3942     void onclick(VARIANT v);
3943
3944     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
3945     VARIANT onclick();
3946
3947     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
3948     void ondblclick(VARIANT v);
3949
3950     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
3951     VARIANT ondblclick();
3952
3953     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
3954     void onkeydown(VARIANT v);
3955
3956     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
3957     VARIANT onkeydown();
3958
3959     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
3960     void onkeyup(VARIANT v);
3961
3962     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
3963     VARIANT onkeyup();
3964
3965     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
3966     void onkeypress(VARIANT v);
3967
3968     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
3969     VARIANT onkeypress();
3970
3971     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
3972     void onmouseout(VARIANT v);
3973
3974     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
3975     VARIANT onmouseout();
3976
3977     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
3978     void onmouseover(VARIANT v);
3979
3980     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
3981     VARIANT onmouseover();
3982
3983     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
3984     void onmousemove(VARIANT v);
3985
3986     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
3987     VARIANT onmousemove();
3988
3989     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
3990     void onmousedown(VARIANT v);
3991
3992     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
3993     VARIANT onmousedown();
3994
3995     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
3996     void onmouseup(VARIANT v);
3997
3998     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
3999     VARIANT onmouseup();
4000
4001     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
4002     IDispatch *document();
4003
4004     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4005     void title(BSTR v);
4006
4007     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
4008     BSTR title();
4009
4010     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4011     void language(BSTR v);
4012
4013     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
4014     BSTR language();
4015
4016     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4017     void onselectstart(VARIANT v);
4018
4019     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
4020     VARIANT onselectstart();
4021
4022     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
4023     void scrollIntoView([in, optional] VARIANT varargStart);
4024
4025     [id(DISPID_IHTMLELEMENT_CONTAINS)]
4026     VARIANT_BOOL contains([in] IHTMLElement *pChild);
4027
4028     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
4029     long sourceIndex();
4030
4031     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
4032     VARIANT recordNumber();
4033
4034     [propput, id(DISPID_IHTMLELEMENT_LANG)]
4035     void lang(BSTR v);
4036
4037     [propget, id(DISPID_IHTMLELEMENT_LANG)]
4038     BSTR lang();
4039
4040     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
4041     long offsetLeft();
4042
4043     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
4044     long offsetTop();
4045
4046     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
4047     long offsetWidth();
4048
4049     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
4050     long offsetHeight();
4051
4052     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
4053     IHTMLElement *offsetParent();
4054
4055     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
4056     void innerHTML(BSTR v);
4057
4058     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
4059     BSTR innerHTML();
4060
4061     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4062     void innerText(BSTR v);
4063
4064     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
4065     BSTR innerText();
4066
4067     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4068     void outerHTML(BSTR v);
4069
4070     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
4071     BSTR outerHTML();
4072
4073     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4074     void outerText(BSTR v);
4075
4076     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
4077     BSTR outerText();
4078
4079     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
4080     void insertAdjacentHTML(
4081             [in] BSTR where,
4082             [in] BSTR html);
4083
4084     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
4085     void insertAdjacentText(
4086             [in] BSTR where,
4087             [in] BSTR text);
4088
4089     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
4090     IHTMLElement *parentTextEdit();
4091
4092     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
4093     VARIANT_BOOL isTextEdit();
4094
4095     [id(DISPID_IHTMLELEMENT_CLICK)]
4096     void click();
4097
4098     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
4099     IHTMLFiltersCollection *filters();
4100
4101     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4102     void ondragstart(VARIANT v);
4103
4104     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
4105     VARIANT ondragstart();
4106
4107     [id(DISPID_IHTMLELEMENT_TOSTRING)]
4108     BSTR toString();
4109
4110     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4111     void onbeforeupdate(VARIANT v);
4112
4113     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
4114     VARIANT onbeforeupdate();
4115
4116     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4117     void onafterupdate(VARIANT v);
4118
4119     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
4120     VARIANT onafterupdate();
4121
4122     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4123     void onerrorupdate(VARIANT v);
4124
4125     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
4126     VARIANT onerrorupdate();
4127
4128     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4129     void onrowexit(VARIANT v);
4130
4131     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
4132     VARIANT onrowexit();
4133
4134     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4135     void onrowenter(VARIANT v);
4136
4137     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
4138     VARIANT onrowenter();
4139
4140     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4141     void ondatasetchanged(VARIANT v);
4142
4143     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
4144     VARIANT ondatasetchanged();
4145
4146     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4147     void ondataavailable(VARIANT v);
4148
4149     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
4150     VARIANT ondataavailable();
4151
4152     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4153     void ondatasetcomplete(VARIANT v);
4154
4155     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
4156     VARIANT ondatasetcomplete();
4157
4158     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4159     void onfilterchange(VARIANT v);
4160
4161     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
4162     VARIANT onfilterchange();
4163
4164     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
4165     IDispatch *children();
4166
4167     [propget, id(DISPID_IHTMLELEMENT_ALL)]
4168     IDispatch *all();
4169
4170     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
4171     BSTR scopeName();
4172
4173     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
4174     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
4175
4176     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
4177     void releaseCapture();
4178
4179     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4180     void onlosecapture(VARIANT v);
4181
4182     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
4183     VARIANT onlosecapture();
4184
4185     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
4186     BSTR componentFromPoint(
4187             [in] long x,
4188             [in] long y);
4189
4190     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
4191     void doScroll([in, optional] VARIANT component);
4192
4193     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4194     void onscroll(VARIANT v);
4195
4196     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
4197     VARIANT onscroll();
4198
4199     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4200     void ondrag(VARIANT v);
4201
4202     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
4203     VARIANT ondrag();
4204
4205     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4206     void ondragend(VARIANT v);
4207
4208     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
4209     VARIANT ondragend();
4210
4211     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4212     void ondragenter(VARIANT v);
4213
4214     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
4215     VARIANT ondragenter();
4216
4217     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4218     void ondragover(VARIANT v);
4219
4220     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
4221     VARIANT ondragover();
4222
4223     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4224     void ondragleave(VARIANT v);
4225
4226     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
4227     VARIANT ondragleave();
4228
4229     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4230     void ondrop(VARIANT v);
4231
4232     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
4233     VARIANT ondrop();
4234
4235     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4236     void onbeforecut(VARIANT v);
4237
4238     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
4239     VARIANT onbeforecut();
4240
4241     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4242     void oncut(VARIANT v);
4243
4244     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
4245     VARIANT oncut();
4246
4247     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4248     void onbeforecopy(VARIANT v);
4249
4250     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
4251     VARIANT onbeforecopy();
4252
4253     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4254     void oncopy(VARIANT v);
4255
4256     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
4257     VARIANT oncopy();
4258
4259     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4260     void onbeforepaste(VARIANT v);
4261
4262     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
4263     VARIANT onbeforepaste();
4264
4265     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4266     void onpaste(VARIANT v);
4267
4268     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
4269     VARIANT onpaste();
4270
4271     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
4272     IHTMLCurrentStyle *currentStyle();
4273
4274     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4275     void onpropertychange(VARIANT v);
4276
4277     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
4278     VARIANT onpropertychange();
4279
4280     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
4281     IHTMLRectCollection *getClientRects();
4282
4283     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
4284     IHTMLRect *getBoundingClientRect();
4285
4286     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
4287     void setExpression(
4288             [in] BSTR propname,
4289             [in] BSTR expression,
4290             [in, defaultvalue("")] BSTR language);
4291
4292     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
4293     VARIANT getExpression([in] BSTR propname);
4294
4295     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
4296     VARIANT_BOOL removeExpression([in] BSTR propname);
4297
4298     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4299     void tabIndex(short v);
4300
4301     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
4302     short tabIndex();
4303
4304     [id(DISPID_IHTMLELEMENT2_FOCUS)]
4305     void focus();
4306
4307     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4308     void accessKey(BSTR v);
4309
4310     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
4311     BSTR accessKey();
4312
4313     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4314     void onblur(VARIANT v);
4315
4316     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
4317     VARIANT onblur();
4318
4319     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4320     void onfocus(VARIANT v);
4321
4322     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
4323     VARIANT onfocus();
4324
4325     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4326     void onresize(VARIANT v);
4327
4328     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
4329     VARIANT onresize();
4330
4331     [id(DISPID_IHTMLELEMENT2_BLUR)]
4332     void blur();
4333
4334     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
4335     void addFilter([in] IUnknown *pUnk);
4336
4337     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
4338     void removeFilter([in] IUnknown *pUnk);
4339
4340     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
4341     long clientHeight();
4342
4343     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
4344     long clientWidth();
4345
4346     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
4347     long clientTop();
4348
4349     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
4350     long clientLeft();
4351
4352     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
4353     VARIANT_BOOL attachEvent(
4354             [in] BSTR event,
4355             [in] IDispatch *pDisp);
4356
4357     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
4358     void detachEvent(
4359             [in] BSTR event,
4360             [in] IDispatch *pDisp);
4361
4362     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
4363     VARIANT readyState();
4364
4365     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4366     void onreadystatechange(VARIANT v);
4367
4368     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
4369     VARIANT onreadystatechange();
4370
4371     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4372     void onrowsdelete(VARIANT v);
4373
4374     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
4375     VARIANT onrowsdelete();
4376
4377     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4378     void onrowsinserted(VARIANT v);
4379
4380     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
4381      VARIANT onrowsinserted();
4382
4383     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4384      void oncellchange(VARIANT v);
4385
4386     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
4387     VARIANT oncellchange();
4388
4389     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4390     void dir(BSTR v);
4391
4392     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
4393     BSTR dir();
4394
4395     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
4396     IDispatch *createControlRange();
4397
4398     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
4399     long scrollHeight();
4400
4401     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
4402     long scrollWidth();
4403
4404     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4405     void scrollTop(long v);
4406
4407     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
4408     long scrollTop();
4409
4410     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4411     void scrollLeft(long v);
4412
4413     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
4414     long scrollLeft();
4415
4416     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
4417     void clearAttributes();
4418
4419     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4420     void oncontextmenu(VARIANT v);
4421
4422     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
4423     VARIANT oncontextmenu();
4424
4425     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
4426     IHTMLElement *insertAdjacentElement(
4427             [in] BSTR where,
4428             [in] IHTMLElement *insertedElement);
4429
4430     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
4431     IHTMLElement *applyElement(
4432             [in] IHTMLElement *apply,
4433             [in] BSTR where);
4434
4435     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
4436     BSTR getAdjacentText([in] BSTR where);
4437
4438     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
4439     BSTR replaceAdjacentText(
4440             [in] BSTR where,
4441             [in] BSTR newText);
4442
4443     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
4444     VARIANT_BOOL canHaveChildren();
4445
4446     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
4447     long addBehavior(
4448             [in] BSTR bstrUrl,
4449             [in, optional] VARIANT *pvarFactory);
4450
4451     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
4452     VARIANT_BOOL removeBehavior([in] long cookie);
4453
4454     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
4455     IHTMLStyle *runtimeStyle();
4456
4457     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
4458     IDispatch *behaviorUrns();
4459
4460     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
4461     void tagUrn(BSTR v);
4462
4463     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
4464     BSTR tagUrn();
4465
4466     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4467     void onbeforeeditfocus(VARIANT v);
4468
4469     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
4470     VARIANT onbeforeeditfocus();
4471
4472     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
4473     long readyStateValue();
4474
4475     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
4476     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
4477
4478     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
4479     void mergeAttributes(
4480             [in] IHTMLElement *mergeThis,
4481             [in, optional] VARIANT *pvarFlags);
4482
4483     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
4484     VARIANT_BOOL isMultiLine();
4485
4486     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
4487     VARIANT_BOOL canHaveHTML();
4488
4489     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4490     void onlayoutcomplete(VARIANT v);
4491
4492     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
4493     VARIANT onlayoutcomplete();
4494
4495     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4496     void onpage(VARIANT v);
4497
4498     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
4499     VARIANT onpage();
4500
4501     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4502     void inflateBlock(VARIANT_BOOL v);
4503
4504     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
4505     VARIANT_BOOL inflateBlock();
4506
4507     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4508     void onbeforedeactivate(VARIANT v);
4509
4510     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
4511     VARIANT onbeforedeactivate();
4512
4513     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
4514     void setActive();
4515
4516     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4517     void contentEditable(BSTR v);
4518
4519     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
4520     BSTR contentEditable();
4521
4522     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
4523     VARIANT_BOOL isContentEditable();
4524
4525     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4526     void hideFocus(VARIANT_BOOL v);
4527
4528     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
4529     VARIANT_BOOL hideFocus();
4530
4531     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4532     void disabled(VARIANT_BOOL v);
4533
4534     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
4535     VARIANT_BOOL disabled();
4536
4537     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
4538     VARIANT_BOOL isDisabled();
4539
4540     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4541     void onmove(VARIANT v);
4542
4543     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
4544     VARIANT onmove();
4545
4546     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4547     void oncontrolselect(VARIANT v);
4548
4549     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
4550     VARIANT oncontrolselect();
4551
4552     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
4553     VARIANT_BOOL fireEvent(
4554             [in] BSTR bstrEventName,
4555             [in, optional] VARIANT *pvarEventObject);
4556
4557     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4558     void onresizestart(VARIANT v);
4559
4560     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
4561     VARIANT onresizestart();
4562
4563     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4564     void onresizeend(VARIANT v);
4565
4566     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
4567     VARIANT onresizeend();
4568
4569     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4570     void onmovestart(VARIANT v);
4571
4572     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
4573     VARIANT onmovestart();
4574
4575     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4576     void onmoveend(VARIANT v);
4577
4578     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
4579     VARIANT onmoveend();
4580
4581     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4582     void onmouseenter(VARIANT v);
4583
4584     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
4585     VARIANT onmouseenter();
4586
4587     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4588     void onmouseleave(VARIANT v);
4589
4590     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
4591     VARIANT onmouseleave();
4592
4593     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4594     void onactivate(VARIANT v);
4595
4596     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
4597     VARIANT onactivate();
4598
4599     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4600     void ondeactivate(VARIANT v);
4601
4602     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
4603     VARIANT ondeactivate();
4604
4605     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
4606     VARIANT_BOOL dragDrop();
4607
4608     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
4609     LONG glyphMode();
4610
4611     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4612     void onmousewheel(VARIANT v);
4613
4614     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
4615     VARIANT onmousewheel();
4616
4617     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
4618     void normalize();
4619
4620     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
4621     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
4622
4623     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
4624     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
4625
4626     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
4627     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
4628
4629     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4630     void onbeforeactivate(VARIANT v);
4631
4632     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
4633     VARIANT onbeforeactivate();
4634
4635     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4636     void onfocusin(VARIANT v);
4637
4638     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
4639     VARIANT onfocusin();
4640
4641     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4642     void onfocusout(VARIANT v);
4643
4644     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
4645     VARIANT onfocusout();
4646
4647     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
4648     long uniqueNumber();
4649
4650     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
4651     BSTR uniqueID();
4652
4653     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
4654     long nodeType();
4655
4656     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
4657     IHTMLDOMNode *parentNode();
4658
4659     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
4660     VARIANT_BOOL hasChildNodes();
4661
4662     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
4663     IDispatch *childNodes();
4664
4665     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
4666     IDispatch *attributes();
4667
4668     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
4669     IHTMLDOMNode *insertBefore(
4670             [in] IHTMLDOMNode *newChild,
4671             [in, optional] VARIANT refChild);
4672
4673     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
4674     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
4675
4676     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
4677     IHTMLDOMNode *replaceChild(
4678             [in] IHTMLDOMNode *newChild,
4679             [in] IHTMLDOMNode *oldChild);
4680
4681     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
4682     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
4683
4684     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
4685     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
4686
4687     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
4688     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
4689
4690     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
4691     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
4692
4693     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
4694     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
4695
4696     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
4697     BSTR nodeName();
4698
4699     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
4700     void nodeValue(VARIANT v);
4701
4702     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
4703     VARIANT nodeValue();
4704
4705     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
4706     IHTMLDOMNode *firstChild();
4707
4708     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
4709     IHTMLDOMNode *lastChild();
4710
4711     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
4712     IHTMLDOMNode *previousSibling();
4713
4714     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
4715     IHTMLDOMNode *nextSibling();
4716
4717     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
4718     IDispatch *ownerDocument();
4719
4720     [propput, id(DISPID_IHTMLDATABINDING_DATAFLD)]
4721     void dataFld(BSTR v);
4722
4723     [propget, id(DISPID_IHTMLDATABINDING_DATAFLD)]
4724     BSTR dataFld();
4725
4726     [propput, id(DISPID_IHTMLDATABINDING_DATASRC)]
4727     void dataSrc(BSTR v);
4728
4729     [propget, id(DISPID_IHTMLDATABINDING_DATASRC)]
4730     BSTR dataSrc();
4731
4732     [propput, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
4733     void dataFormatAs(BSTR v);
4734
4735     [propget, id(DISPID_IHTMLDATABINDING_DATAFORMATAS)]
4736     BSTR dataFormatAs();
4737
4738     [propput, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
4739     void type(BSTR v);
4740
4741     [propget, id(DISPID_IHTMLINPUTELEMENT_TYPE)]
4742     BSTR type();
4743
4744     [propput, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
4745     void value(BSTR v);
4746
4747     [propget, id(DISPID_IHTMLINPUTELEMENT_VALUE), displaybind, bindable]
4748     BSTR value();
4749
4750     [propput, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
4751     void name(BSTR v);
4752
4753     [propget, id(DISPID_IHTMLINPUTELEMENT_NAME), displaybind, bindable]
4754     BSTR name();
4755
4756     [propput, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
4757     void status(VARIANT_BOOL v);
4758
4759     [propget, id(DISPID_IHTMLINPUTELEMENT_STATUS)]
4760     VARIANT_BOOL status();
4761
4762     [propget, id(DISPID_IHTMLINPUTELEMENT_FORM)]
4763     IHTMLFormElement *form();
4764
4765     [propput, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
4766     void size(long v);
4767
4768     [propget, id(DISPID_IHTMLINPUTELEMENT_SIZE), displaybind, bindable]
4769     long size();
4770
4771     [propput, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
4772     void maxLength(long v);
4773
4774     [propget, id(DISPID_IHTMLINPUTELEMENT_MAXLENGTH), displaybind, bindable]
4775     long maxLength();
4776
4777     [id(DISPID_IHTMLINPUTELEMENT_SELECT)]
4778     void select();
4779
4780     [propput, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
4781     void onchange(VARIANT v);
4782
4783     [propget, id(DISPID_IHTMLINPUTELEMENT_ONCHANGE), displaybind, bindable]
4784     VARIANT onchange();
4785
4786     [propput, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
4787     void onselect(VARIANT v);
4788
4789     [propget, id(DISPID_IHTMLINPUTELEMENT_ONSELECT), displaybind, bindable]
4790     VARIANT onselect();
4791
4792     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
4793     void defaultValue(BSTR v);
4794
4795     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
4796     BSTR defaultValue();
4797
4798     [propput, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
4799     void readOnly(VARIANT_BOOL v);
4800
4801     [propget, id(DISPID_IHTMLINPUTELEMENT_READONLY), displaybind, bindable]
4802     VARIANT_BOOL readOnly();
4803
4804     [id(DISPID_IHTMLINPUTELEMENT_CREATETEXTRANGE)]
4805     IHTMLTxtRange *createTextRange();
4806
4807     [propput, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
4808     void indeterminate(VARIANT_BOOL v);
4809
4810     [propget, id(DISPID_IHTMLINPUTELEMENT_INDETERMINATE), bindable]
4811     VARIANT_BOOL indeterminate();
4812
4813     [propput, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
4814     void defaultChecked(VARIANT_BOOL v);
4815
4816     [propget, id(DISPID_IHTMLINPUTELEMENT_DEFAULTCHECKED), bindable]
4817     VARIANT_BOOL defaultChecked();
4818
4819     [propput, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
4820     void checked(VARIANT_BOOL v);
4821
4822     [propget, id(DISPID_IHTMLINPUTELEMENT_CHECKED), bindable]
4823     VARIANT_BOOL checked();
4824
4825     [propput, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
4826     void border(VARIANT v);
4827
4828     [propget, id(DISPID_IHTMLINPUTELEMENT_BORDER), displaybind, bindable]
4829     VARIANT border();
4830
4831     [propput, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
4832     void vspace(long v);
4833
4834     [propget, id(DISPID_IHTMLINPUTELEMENT_VSPACE), displaybind, bindable]
4835     long vspace();
4836
4837     [propput, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
4838     void hspace(long v);
4839
4840     [propget, id(DISPID_IHTMLINPUTELEMENT_HSPACE), displaybind, bindable]
4841     long hspace();
4842
4843     [propput, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
4844     void alt(BSTR v);
4845
4846     [propget, id(DISPID_IHTMLINPUTELEMENT_ALT), displaybind, bindable]
4847     BSTR alt();
4848
4849     [propput, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
4850     void src(BSTR v);
4851
4852     [propget, id(DISPID_IHTMLINPUTELEMENT_SRC), displaybind, bindable]
4853     BSTR src();
4854
4855     [propput, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
4856     void lowsrc(BSTR v);
4857
4858     [propget, id(DISPID_IHTMLINPUTELEMENT_LOWSRC), displaybind, bindable]
4859     BSTR lowsrc();
4860
4861     [propput, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
4862     void vrml(BSTR v);
4863
4864     [propget, id(DISPID_IHTMLINPUTELEMENT_VRML), displaybind, bindable]
4865     BSTR vrml();
4866
4867     [propput, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
4868     void dynsrc(BSTR v);
4869
4870     [propget, id(DISPID_IHTMLINPUTELEMENT_DYNSRC), displaybind, bindable]
4871     BSTR dynsrc();
4872
4873     [propget, id(DISPID_IHTMLINPUTELEMENT_COMPLETE)]
4874     VARIANT_BOOL complete();
4875
4876     [propput, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
4877     void loop(VARIANT v);
4878
4879     [propget, id(DISPID_IHTMLINPUTELEMENT_LOOP), displaybind, bindable]
4880     VARIANT loop();
4881
4882     [propput, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
4883     void align(BSTR v);
4884
4885     [propget, id(DISPID_IHTMLINPUTELEMENT_ALIGN), displaybind, bindable]
4886     BSTR align();
4887
4888     [propput, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
4889     void onload(VARIANT v);
4890
4891     [propget, id(DISPID_IHTMLINPUTELEMENT_ONLOAD), displaybind, bindable]
4892     VARIANT onload();
4893
4894     [propput, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
4895     void onerror(VARIANT v);
4896
4897     [propget, id(DISPID_IHTMLINPUTELEMENT_ONERROR), displaybind, bindable]
4898     VARIANT onerror();
4899
4900     [propput, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
4901     void onabort(VARIANT v);
4902
4903     [propget, id(DISPID_IHTMLINPUTELEMENT_ONABORT), displaybind, bindable]
4904     VARIANT onabort();
4905
4906     [propput, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
4907     void width(long v);
4908
4909     [propget, id(DISPID_IHTMLINPUTELEMENT_WIDTH)]
4910     long width();
4911
4912     [propput, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
4913     void height(long v);
4914
4915     [propget, id(DISPID_IHTMLINPUTELEMENT_HEIGHT)]
4916     long height();
4917
4918     [propput, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
4919     void start(BSTR v);
4920
4921     [propget, id(DISPID_IHTMLINPUTELEMENT_START), displaybind, bindable]
4922     BSTR start();
4923
4924     [propput, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
4925     void accept(BSTR v);
4926
4927     [propget, id(DISPID_IHTMLINPUTELEMENT2_ACCEPT), displaybind, bindable]
4928     BSTR accept();
4929
4930     [propput, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
4931     void useMap(BSTR v);
4932
4933     [propget, id(DISPID_IHTMLINPUTELEMENT2_USEMAP), displaybind, bindable]
4934     BSTR useMap();
4935 }
4936
4937 /*****************************************************************************
4938  *    IHTMLTextAreaElement interface
4939  */
4940 [
4941     odl,
4942     oleautomation,
4943     dual,
4944     uuid(3050f2aa-98b5-11cf-bb82-00aa00bdce0b)
4945 ]
4946 interface IHTMLTextAreaElement : IDispatch
4947 {
4948     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_TYPE)]
4949     HRESULT type([retval, out] BSTR *p);
4950
4951     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
4952     HRESULT value([in] BSTR v);
4953
4954     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_VALUE), displaybind, bindable]
4955     HRESULT value([retval, out] BSTR *p);
4956
4957     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
4958     HRESULT name([in] BSTR v);
4959
4960     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_NAME), displaybind, bindable]
4961     HRESULT name([retval, out] BSTR *p);
4962
4963     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
4964     HRESULT status([in] VARIANT v);
4965
4966     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_STATUS)]
4967     HRESULT status([retval, out] VARIANT *p);
4968
4969     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
4970     HRESULT disabled([in] VARIANT_BOOL v);
4971
4972     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DISABLED), displaybind, bindable]
4973     HRESULT disabled([retval, out] VARIANT_BOOL *p);
4974
4975     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_FORM)]
4976     HRESULT form([retval, out] IHTMLFormElement **p);
4977
4978     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
4979     HRESULT defaultValue([in] BSTR v);
4980
4981     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_DEFAULTVALUE), displaybind, bindable, hidden]
4982     HRESULT defaultValue([retval, out] BSTR *p);
4983
4984     [id(DISPID_IHTMLTEXTAREAELEMENT_SELECT)]
4985     HRESULT select();
4986
4987     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
4988     HRESULT onchange([in] VARIANT v);
4989
4990     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONCHANGE), displaybind, bindable]
4991     HRESULT onchange([retval, out] VARIANT *p);
4992
4993     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
4994     HRESULT onselect([in] VARIANT v);
4995
4996     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ONSELECT), displaybind, bindable]
4997     HRESULT onselect([retval, out] VARIANT *p);
4998
4999     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
5000     HRESULT readOnly([in] VARIANT_BOOL v);
5001
5002     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_READONLY), displaybind, bindable]
5003     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
5004
5005     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
5006     HRESULT rows([in] long v);
5007
5008     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_ROWS), displaybind, bindable]
5009     HRESULT rows([retval, out] long *p);
5010
5011     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
5012     HRESULT cols([in] long v);
5013
5014     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_COLS), displaybind, bindable]
5015     HRESULT cols([retval, out] long *p);
5016
5017     [propput, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
5018     HRESULT wrap([in] BSTR v);
5019
5020     [propget, id(DISPID_IHTMLTEXTAREAELEMENT_WRAP), displaybind, bindable]
5021     HRESULT wrap([retval, out] BSTR *p);
5022
5023     [id(DISPID_IHTMLTEXTAREAELEMENT_CREATETEXTRANGE)]
5024     HRESULT createTextRange([retval, out] IHTMLTxtRange **range);
5025 }
5026
5027 /*****************************************************************************
5028  *    DispHTMLUnknownElement interface
5029  */
5030 [
5031     hidden,
5032     uuid(3050f539-98b5-11cf-bb82-00aa00bdce0b)
5033 ]
5034 dispinterface DispHTMLUnknownElement
5035 {
5036 properties:
5037 methods:
5038     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
5039     void setAttribute(
5040             [in] BSTR strAttributeName,
5041             [in] VARIANT AttributeValue,
5042             [in, defaultvalue(1)] LONG lFlags);
5043
5044     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
5045     VARIANT getAttribute(
5046              [in] BSTR strAttributeName,
5047              [in, defaultvalue(0)] LONG lFlags);
5048
5049     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
5050     VARIANT_BOOL removeAttribute(
5051             [in] BSTR strAttributeName,
5052             [in, defaultvalue(1)] LONG lFlags);
5053
5054     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5055     void className(BSTR v);
5056
5057     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME), bindable]
5058     BSTR className();
5059
5060     [propput, id(DISPID_IHTMLELEMENT_ID), bindable]
5061     void id(BSTR v);
5062
5063     [propget, id(DISPID_IHTMLELEMENT_ID), bindable]
5064     BSTR id();
5065
5066     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
5067     BSTR tagName();
5068
5069     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
5070     IHTMLElement *parentElement();
5071
5072     [propget, id(DISPID_IHTMLELEMENT_STYLE), nonbrowsable]
5073     IHTMLStyle *style();
5074
5075     [propput, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
5076     void onhelp(VARIANT v);
5077
5078     [propget, id(DISPID_IHTMLELEMENT_ONHELP), displaybind, bindable]
5079     VARIANT onhelp();
5080
5081     [propput, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
5082     void onclick(VARIANT v);
5083
5084     [propget, id(DISPID_IHTMLELEMENT_ONCLICK), displaybind, bindable]
5085     VARIANT onclick();
5086
5087     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
5088     void ondblclick(VARIANT v);
5089
5090     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK), displaybind, bindable]
5091     VARIANT ondblclick();
5092
5093     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
5094     void onkeydown(VARIANT v);
5095
5096     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN), displaybind, bindable]
5097     VARIANT onkeydown();
5098
5099     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
5100     void onkeyup(VARIANT v);
5101
5102     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP), displaybind, bindable]
5103     VARIANT onkeyup();
5104
5105     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
5106     void onkeypress(VARIANT v);
5107
5108     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS), displaybind, bindable]
5109     VARIANT onkeypress();
5110
5111     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
5112     void onmouseout(VARIANT v);
5113
5114     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT), displaybind, bindable]
5115     VARIANT onmouseout();
5116
5117     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
5118     void onmouseover(VARIANT v);
5119
5120     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER), displaybind, bindable]
5121     VARIANT onmouseover();
5122
5123     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
5124     void onmousemove(VARIANT v);
5125
5126     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE), displaybind, bindable]
5127     VARIANT onmousemove();
5128
5129     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
5130     void onmousedown(VARIANT v);
5131
5132     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN), displaybind, bindable]
5133     VARIANT onmousedown();
5134
5135     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
5136     void onmouseup(VARIANT v);
5137
5138     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP), displaybind, bindable]
5139     VARIANT onmouseup();
5140
5141     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
5142     IDispatch *document();
5143
5144     [propput, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
5145     void title(BSTR v);
5146
5147     [propget, id(DISPID_IHTMLELEMENT_TITLE), displaybind, bindable]
5148     BSTR title();
5149
5150     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
5151     void language(BSTR v);
5152
5153     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE), displaybind, bindable]
5154     BSTR language();
5155
5156     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
5157     void onselectstart(VARIANT v);
5158
5159     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART), displaybind, bindable]
5160     VARIANT onselectstart();
5161
5162     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
5163     void scrollIntoView([in, optional] VARIANT varargStart);
5164
5165     [id(DISPID_IHTMLELEMENT_CONTAINS)]
5166     VARIANT_BOOL contains([in] IHTMLElement *pChild);
5167
5168     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX), bindable]
5169     long sourceIndex();
5170
5171     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
5172     VARIANT recordNumber();
5173
5174     [propput, id(DISPID_IHTMLELEMENT_LANG)]
5175     void lang(BSTR v);
5176
5177     [propget, id(DISPID_IHTMLELEMENT_LANG)]
5178     BSTR lang();
5179
5180     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
5181     long offsetLeft();
5182
5183     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
5184     long offsetTop();
5185
5186     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
5187     long offsetWidth();
5188
5189     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
5190     long offsetHeight();
5191
5192     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
5193     IHTMLElement *offsetParent();
5194
5195     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
5196     void innerHTML(BSTR v);
5197
5198     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
5199     BSTR innerHTML();
5200
5201     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
5202     void innerText(BSTR v);
5203
5204     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
5205     BSTR innerText();
5206
5207     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
5208     void outerHTML(BSTR v);
5209
5210     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
5211     BSTR outerHTML();
5212
5213     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
5214     void outerText(BSTR v);
5215
5216     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
5217     BSTR outerText();
5218
5219     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
5220     void insertAdjacentHTML(
5221             [in] BSTR where,
5222             [in] BSTR html);
5223
5224     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
5225     void insertAdjacentText(
5226             [in] BSTR where,
5227             [in] BSTR text);
5228
5229     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
5230     IHTMLElement *parentTextEdit();
5231
5232     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
5233     VARIANT_BOOL isTextEdit();
5234
5235     [id(DISPID_IHTMLELEMENT_CLICK)]
5236     void click();
5237
5238     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
5239     IHTMLFiltersCollection *filters();
5240
5241     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5242     void ondragstart(VARIANT v);
5243
5244     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART), displaybind, bindable]
5245     VARIANT ondragstart();
5246
5247     [id(DISPID_IHTMLELEMENT_TOSTRING)]
5248     BSTR toString();
5249
5250     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5251     void onbeforeupdate(VARIANT v);
5252
5253     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE), displaybind, bindable]
5254     VARIANT onbeforeupdate();
5255
5256     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5257     void onafterupdate(VARIANT v);
5258
5259     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE), displaybind, bindable]
5260     VARIANT onafterupdate();
5261
5262     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5263     void onerrorupdate(VARIANT v);
5264
5265     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE), displaybind, bindable]
5266     VARIANT onerrorupdate();
5267
5268     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5269     void onrowexit(VARIANT v);
5270
5271     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT), displaybind, bindable]
5272     VARIANT onrowexit();
5273
5274     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5275     void onrowenter(VARIANT v);
5276
5277     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER), displaybind, bindable]
5278     VARIANT onrowenter();
5279
5280     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5281     void ondatasetchanged(VARIANT v);
5282
5283     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED), displaybind, bindable]
5284     VARIANT ondatasetchanged();
5285
5286     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5287     void ondataavailable(VARIANT v);
5288
5289     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE), displaybind, bindable]
5290     VARIANT ondataavailable();
5291
5292     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5293     void ondatasetcomplete(VARIANT v);
5294
5295     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE), displaybind, bindable]
5296     VARIANT ondatasetcomplete();
5297
5298     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5299     void onfilterchange(VARIANT v);
5300
5301     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE), displaybind, bindable]
5302     VARIANT onfilterchange();
5303
5304     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
5305     IDispatch *children();
5306
5307     [propget, id(DISPID_IHTMLELEMENT_ALL)]
5308     IDispatch *all();
5309
5310     [propget, id(DISPID_IHTMLELEMENT2_SCOPENAME)]
5311     BSTR scopeName();
5312
5313     [id(DISPID_IHTMLELEMENT2_SETCAPTURE)]
5314     void setCapture([in, defaultvalue(-1)] VARIANT_BOOL containerCapture);
5315
5316     [id(DISPID_IHTMLELEMENT2_RELEASECAPTURE)]
5317     void releaseCapture();
5318
5319     [propput, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5320     void onlosecapture(VARIANT v);
5321
5322     [propget, id(DISPID_IHTMLELEMENT2_ONLOSECAPTURE), displaybind, bindable]
5323     VARIANT onlosecapture();
5324
5325     [id(DISPID_IHTMLELEMENT2_COMPONENTFROMPOINT)]
5326     BSTR componentFromPoint(
5327             [in] long x,
5328             [in] long y);
5329
5330     [id(DISPID_IHTMLELEMENT2_DOSCROLL)]
5331     void doScroll([in, optional] VARIANT component);
5332
5333     [propput, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5334     void onscroll(VARIANT v);
5335
5336     [propget, id(DISPID_IHTMLELEMENT2_ONSCROLL), displaybind, bindable]
5337     VARIANT onscroll();
5338
5339     [propput, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5340     void ondrag(VARIANT v);
5341
5342     [propget, id(DISPID_IHTMLELEMENT2_ONDRAG), displaybind, bindable]
5343     VARIANT ondrag();
5344
5345     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5346     void ondragend(VARIANT v);
5347
5348     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGEND), displaybind, bindable]
5349     VARIANT ondragend();
5350
5351     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5352     void ondragenter(VARIANT v);
5353
5354     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGENTER), displaybind, bindable]
5355     VARIANT ondragenter();
5356
5357     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5358     void ondragover(VARIANT v);
5359
5360     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGOVER), displaybind, bindable]
5361     VARIANT ondragover();
5362
5363     [propput, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5364     void ondragleave(VARIANT v);
5365
5366     [propget, id(DISPID_IHTMLELEMENT2_ONDRAGLEAVE), displaybind, bindable]
5367     VARIANT ondragleave();
5368
5369     [propput, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5370     void ondrop(VARIANT v);
5371
5372     [propget, id(DISPID_IHTMLELEMENT2_ONDROP), displaybind, bindable]
5373     VARIANT ondrop();
5374
5375     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5376     void onbeforecut(VARIANT v);
5377
5378     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECUT), displaybind, bindable]
5379     VARIANT onbeforecut();
5380
5381     [propput, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5382     void oncut(VARIANT v);
5383
5384     [propget, id(DISPID_IHTMLELEMENT2_ONCUT), displaybind, bindable]
5385     VARIANT oncut();
5386
5387     [propput, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5388     void onbeforecopy(VARIANT v);
5389
5390     [propget, id(DISPID_IHTMLELEMENT2_ONBEFORECOPY), displaybind, bindable]
5391     VARIANT onbeforecopy();
5392
5393     [propput, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5394     void oncopy(VARIANT v);
5395
5396     [propget, id(DISPID_IHTMLELEMENT2_ONCOPY), displaybind, bindable]
5397     VARIANT oncopy();
5398
5399     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5400     void onbeforepaste(VARIANT v);
5401
5402     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREPASTE), displaybind, bindable]
5403     VARIANT onbeforepaste();
5404
5405     [propput, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5406     void onpaste(VARIANT v);
5407
5408     [propget, id(DISPID_IHTMLELEMENT2_ONPASTE), displaybind, bindable]
5409     VARIANT onpaste();
5410
5411     [propget, id(DISPID_IHTMLELEMENT2_CURRENTSTYLE), nonbrowsable]
5412     IHTMLCurrentStyle *currentStyle();
5413
5414     [propput, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5415     void onpropertychange(VARIANT v);
5416
5417     [propget, id(DISPID_IHTMLELEMENT2_ONPROPERTYCHANGE), displaybind, bindable]
5418     VARIANT onpropertychange();
5419
5420     [id(DISPID_IHTMLELEMENT2_GETCLIENTRECTS)]
5421     IHTMLRectCollection *getClientRects();
5422
5423     [id(DISPID_IHTMLELEMENT2_GETBOUNDINGCLIENTRECT)]
5424     IHTMLRect *getBoundingClientRect();
5425
5426     [id(DISPID_IHTMLELEMENT2_SETEXPRESSION)]
5427     void setExpression(
5428             [in] BSTR propname,
5429             [in] BSTR expression,
5430             [in, defaultvalue("")] BSTR language);
5431
5432     [id(DISPID_IHTMLELEMENT2_GETEXPRESSION)]
5433     VARIANT getExpression([in] BSTR propname);
5434
5435     [id(DISPID_IHTMLELEMENT2_REMOVEEXPRESSION)]
5436     VARIANT_BOOL removeExpression([in] BSTR propname);
5437
5438     [propput, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5439     void tabIndex(short v);
5440
5441     [propget, id(DISPID_IHTMLELEMENT2_TABINDEX), displaybind, bindable]
5442     short tabIndex();
5443
5444     [id(DISPID_IHTMLELEMENT2_FOCUS)]
5445     void focus();
5446
5447     [propput, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5448     void accessKey(BSTR v);
5449
5450     [propget, id(DISPID_IHTMLELEMENT2_ACCESSKEY), displaybind, bindable]
5451     BSTR accessKey();
5452
5453     [propput, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5454     void onblur(VARIANT v);
5455
5456     [propget, id(DISPID_IHTMLELEMENT2_ONBLUR), displaybind, bindable]
5457     VARIANT onblur();
5458
5459     [propput, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5460     void onfocus(VARIANT v);
5461
5462     [propget, id(DISPID_IHTMLELEMENT2_ONFOCUS), displaybind, bindable]
5463     VARIANT onfocus();
5464
5465     [propput, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5466     void onresize(VARIANT v);
5467
5468     [propget, id(DISPID_IHTMLELEMENT2_ONRESIZE), displaybind, bindable]
5469     VARIANT onresize();
5470
5471     [id(DISPID_IHTMLELEMENT2_BLUR)]
5472     void blur();
5473
5474     [id(DISPID_IHTMLELEMENT2_ADDFILTER)]
5475     void addFilter([in] IUnknown *pUnk);
5476
5477     [id(DISPID_IHTMLELEMENT2_REMOVEFILTER)]
5478     void removeFilter([in] IUnknown *pUnk);
5479
5480     [propget, id(DISPID_IHTMLELEMENT2_CLIENTHEIGHT), displaybind, bindable]
5481     long clientHeight();
5482
5483     [propget, id(DISPID_IHTMLELEMENT2_CLIENTWIDTH), displaybind, bindable]
5484     long clientWidth();
5485
5486     [propget, id(DISPID_IHTMLELEMENT2_CLIENTTOP), displaybind, bindable]
5487     long clientTop();
5488
5489     [propget, id(DISPID_IHTMLELEMENT2_CLIENTLEFT), displaybind, bindable]
5490     long clientLeft();
5491
5492     [id(DISPID_IHTMLELEMENT2_ATTACHEVENT)]
5493     VARIANT_BOOL attachEvent(
5494             [in] BSTR event,
5495             [in] IDispatch *pDisp);
5496
5497     [id(DISPID_IHTMLELEMENT2_DETACHEVENT)]
5498     void detachEvent(
5499             [in] BSTR event,
5500             [in] IDispatch *pDisp);
5501
5502     [propget, id(DISPID_IHTMLELEMENT2_READYSTATE)]
5503     VARIANT readyState();
5504
5505     [propput, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5506     void onreadystatechange(VARIANT v);
5507
5508     [propget, id(DISPID_IHTMLELEMENT2_ONREADYSTATECHANGE), displaybind, bindable]
5509     VARIANT onreadystatechange();
5510
5511     [propput, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5512     void onrowsdelete(VARIANT v);
5513
5514     [propget, id(DISPID_IHTMLELEMENT2_ONROWSDELETE), displaybind, bindable]
5515     VARIANT onrowsdelete();
5516
5517     [propput, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5518     void onrowsinserted(VARIANT v);
5519
5520     [propget, id(DISPID_IHTMLELEMENT2_ONROWSINSERTED), displaybind, bindable]
5521      VARIANT onrowsinserted();
5522
5523     [propput, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5524      void oncellchange(VARIANT v);
5525
5526     [propget, id(DISPID_IHTMLELEMENT2_ONCELLCHANGE), displaybind, bindable]
5527     VARIANT oncellchange();
5528
5529     [propput, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5530     void dir(BSTR v);
5531
5532     [propget, id(DISPID_IHTMLELEMENT2_DIR), displaybind, bindable]
5533     BSTR dir();
5534
5535     [id(DISPID_IHTMLELEMENT2_CREATECONTROLRANGE)]
5536     IDispatch *createControlRange();
5537
5538     [propget, id(DISPID_IHTMLELEMENT2_SCROLLHEIGHT), displaybind, bindable]
5539     long scrollHeight();
5540
5541     [propget, id(DISPID_IHTMLELEMENT2_SCROLLWIDTH), displaybind, bindable]
5542     long scrollWidth();
5543
5544     [propput, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5545     void scrollTop(long v);
5546
5547     [propget, id(DISPID_IHTMLELEMENT2_SCROLLTOP), displaybind, bindable]
5548     long scrollTop();
5549
5550     [propput, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5551     void scrollLeft(long v);
5552
5553     [propget, id(DISPID_IHTMLELEMENT2_SCROLLLEFT), displaybind, bindable]
5554     long scrollLeft();
5555
5556     [id(DISPID_IHTMLELEMENT2_CLEARATTRIBUTES)]
5557     void clearAttributes();
5558
5559     [propput, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5560     void oncontextmenu(VARIANT v);
5561
5562     [propget, id(DISPID_IHTMLELEMENT2_ONCONTEXTMENU), displaybind, bindable]
5563     VARIANT oncontextmenu();
5564
5565     [id(DISPID_IHTMLELEMENT2_INSERTADJACENTELEMENT)]
5566     IHTMLElement *insertAdjacentElement(
5567             [in] BSTR where,
5568             [in] IHTMLElement *insertedElement);
5569
5570     [id(DISPID_IHTMLELEMENT2_APPLYELEMENT)]
5571     IHTMLElement *applyElement(
5572             [in] IHTMLElement *apply,
5573             [in] BSTR where);
5574
5575     [id(DISPID_IHTMLELEMENT2_GETADJACENTTEXT)]
5576     BSTR getAdjacentText([in] BSTR where);
5577
5578     [id(DISPID_IHTMLELEMENT2_REPLACEADJACENTTEXT)]
5579     BSTR replaceAdjacentText(
5580             [in] BSTR where,
5581             [in] BSTR newText);
5582
5583     [propget, id(DISPID_IHTMLELEMENT2_CANHAVECHILDREN)]
5584     VARIANT_BOOL canHaveChildren();
5585
5586     [id(DISPID_IHTMLELEMENT2_ADDBEHAVIOR)]
5587     long addBehavior(
5588             [in] BSTR bstrUrl,
5589             [in, optional] VARIANT *pvarFactory);
5590
5591     [id(DISPID_IHTMLELEMENT2_REMOVEBEHAVIOR)]
5592     VARIANT_BOOL removeBehavior([in] long cookie);
5593
5594     [propget, id(DISPID_IHTMLELEMENT2_RUNTIMESTYLE), nonbrowsable]
5595     IHTMLStyle *runtimeStyle();
5596
5597     [propget, id(DISPID_IHTMLELEMENT2_BEHAVIORURNS)]
5598     IDispatch *behaviorUrns();
5599
5600     [propput, id(DISPID_IHTMLELEMENT2_TAGURN)]
5601     void tagUrn(BSTR v);
5602
5603     [propget, id(DISPID_IHTMLELEMENT2_TAGURN)]
5604     BSTR tagUrn();
5605
5606     [propput, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5607     void onbeforeeditfocus(VARIANT v);
5608
5609     [propget, id(DISPID_IHTMLELEMENT2_ONBEFOREEDITFOCUS), displaybind, bindable]
5610     VARIANT onbeforeeditfocus();
5611
5612     [propget, id(DISPID_IHTMLELEMENT2_READYSTATEVALUE), hidden, restricted]
5613     long readyStateValue();
5614
5615     [id(DISPID_IHTMLELEMENT2_GETELEMENTSBYTAGNAME)]
5616     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
5617
5618     [id(DISPID_IHTMLELEMENT3_MERGEATTRIBUTES)]
5619     void mergeAttributes(
5620             [in] IHTMLElement *mergeThis,
5621             [in, optional] VARIANT *pvarFlags);
5622
5623     [propget, id(DISPID_IHTMLELEMENT3_ISMULTILINE)]
5624     VARIANT_BOOL isMultiLine();
5625
5626     [propget, id(DISPID_IHTMLELEMENT3_CANHAVEHTML)]
5627     VARIANT_BOOL canHaveHTML();
5628
5629     [propput, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5630     void onlayoutcomplete(VARIANT v);
5631
5632     [propget, id(DISPID_IHTMLELEMENT3_ONLAYOUTCOMPLETE), displaybind, bindable]
5633     VARIANT onlayoutcomplete();
5634
5635     [propput, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5636     void onpage(VARIANT v);
5637
5638     [propget, id(DISPID_IHTMLELEMENT3_ONPAGE), displaybind, bindable]
5639     VARIANT onpage();
5640
5641     [propput, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5642     void inflateBlock(VARIANT_BOOL v);
5643
5644     [propget, id(DISPID_IHTMLELEMENT3_INFLATEBLOCK), hidden, restricted, nonbrowsable]
5645     VARIANT_BOOL inflateBlock();
5646
5647     [propput, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5648     void onbeforedeactivate(VARIANT v);
5649
5650     [propget, id(DISPID_IHTMLELEMENT3_ONBEFOREDEACTIVATE), displaybind, bindable]
5651     VARIANT onbeforedeactivate();
5652
5653     [id(DISPID_IHTMLELEMENT3_SETACTIVE)]
5654     void setActive();
5655
5656     [propput, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5657     void contentEditable(BSTR v);
5658
5659     [propget, id(DISPID_IHTMLELEMENT3_CONTENTEDITABLE), displaybind, bindable]
5660     BSTR contentEditable();
5661
5662     [propget, id(DISPID_IHTMLELEMENT3_ISCONTENTEDITABLE)]
5663     VARIANT_BOOL isContentEditable();
5664
5665     [propput, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5666     void hideFocus(VARIANT_BOOL v);
5667
5668     [propget, id(DISPID_IHTMLELEMENT3_HIDEFOCUS), displaybind, bindable]
5669     VARIANT_BOOL hideFocus();
5670
5671     [propput, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5672     void disabled(VARIANT_BOOL v);
5673
5674     [propget, id(DISPID_IHTMLELEMENT3_DISABLED), displaybind, bindable]
5675     VARIANT_BOOL disabled();
5676
5677     [propget, id(DISPID_IHTMLELEMENT3_ISDISABLED)]
5678     VARIANT_BOOL isDisabled();
5679
5680     [propput, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5681     void onmove(VARIANT v);
5682
5683     [propget, id(DISPID_IHTMLELEMENT3_ONMOVE), displaybind, bindable]
5684     VARIANT onmove();
5685
5686     [propput, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5687     void oncontrolselect(VARIANT v);
5688
5689     [propget, id(DISPID_IHTMLELEMENT3_ONCONTROLSELECT), displaybind, bindable]
5690     VARIANT oncontrolselect();
5691
5692     [id(DISPID_IHTMLELEMENT3_FIREEVENT)]
5693     VARIANT_BOOL fireEvent(
5694             [in] BSTR bstrEventName,
5695             [in, optional] VARIANT *pvarEventObject);
5696
5697     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5698     void onresizestart(VARIANT v);
5699
5700     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZESTART), displaybind, bindable]
5701     VARIANT onresizestart();
5702
5703     [propput, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5704     void onresizeend(VARIANT v);
5705
5706     [propget, id(DISPID_IHTMLELEMENT3_ONRESIZEEND), displaybind, bindable]
5707     VARIANT onresizeend();
5708
5709     [propput, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5710     void onmovestart(VARIANT v);
5711
5712     [propget, id(DISPID_IHTMLELEMENT3_ONMOVESTART), displaybind, bindable]
5713     VARIANT onmovestart();
5714
5715     [propput, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5716     void onmoveend(VARIANT v);
5717
5718     [propget, id(DISPID_IHTMLELEMENT3_ONMOVEEND), displaybind, bindable]
5719     VARIANT onmoveend();
5720
5721     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5722     void onmouseenter(VARIANT v);
5723
5724     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSEENTER), displaybind, bindable]
5725     VARIANT onmouseenter();
5726
5727     [propput, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5728     void onmouseleave(VARIANT v);
5729
5730     [propget, id(DISPID_IHTMLELEMENT3_ONMOUSELEAVE), displaybind, bindable]
5731     VARIANT onmouseleave();
5732
5733     [propput, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5734     void onactivate(VARIANT v);
5735
5736     [propget, id(DISPID_IHTMLELEMENT3_ONACTIVATE), displaybind, bindable]
5737     VARIANT onactivate();
5738
5739     [propput, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5740     void ondeactivate(VARIANT v);
5741
5742     [propget, id(DISPID_IHTMLELEMENT3_ONDEACTIVATE), displaybind, bindable]
5743     VARIANT ondeactivate();
5744
5745     [id(DISPID_IHTMLELEMENT3_DRAGDROP)]
5746     VARIANT_BOOL dragDrop();
5747
5748     [propget, id(DISPID_IHTMLELEMENT3_GLYPHMODE), hidden, restricted, nonbrowsable]
5749     LONG glyphMode();
5750
5751     [propput, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5752     void onmousewheel(VARIANT v);
5753
5754     [propget, id(DISPID_IHTMLELEMENT4_ONMOUSEWHEEL), displaybind, bindable]
5755     VARIANT onmousewheel();
5756
5757     [id(DISPID_IHTMLELEMENT4_NORMALIZE)]
5758     void normalize();
5759
5760     [id(DISPID_IHTMLELEMENT4_GETATTRIBUTENODE)]
5761     IHTMLDOMAttribute *getAttributeNode([in] BSTR bstrname);
5762
5763     [id(DISPID_IHTMLELEMENT4_SETATTRIBUTENODE)]
5764     IHTMLDOMAttribute *setAttributeNode([in] IHTMLDOMAttribute *pattr);
5765
5766     [id(DISPID_IHTMLELEMENT4_REMOVEATTRIBUTENODE)]
5767     IHTMLDOMAttribute *removeAttributeNode([in] IHTMLDOMAttribute *pattr);
5768
5769     [propput, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5770     void onbeforeactivate(VARIANT v);
5771
5772     [propget, id(DISPID_IHTMLELEMENT4_ONBEFOREACTIVATE), displaybind, bindable]
5773     VARIANT onbeforeactivate();
5774
5775     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5776     void onfocusin(VARIANT v);
5777
5778     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSIN), displaybind, bindable]
5779     VARIANT onfocusin();
5780
5781     [propput, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5782     void onfocusout(VARIANT v);
5783
5784     [propget, id(DISPID_IHTMLELEMENT4_ONFOCUSOUT), displaybind, bindable]
5785     VARIANT onfocusout();
5786
5787     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUENUMBER), hidden]
5788     long uniqueNumber();
5789
5790     [propget, id(DISPID_IHTMLUNIQUENAME_UNIQUEID), hidden]
5791     BSTR uniqueID();
5792
5793     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
5794     long nodeType();
5795
5796     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
5797     IHTMLDOMNode *parentNode();
5798
5799     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
5800     VARIANT_BOOL hasChildNodes();
5801
5802     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
5803     IDispatch *childNodes();
5804
5805     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
5806     IDispatch *attributes();
5807
5808     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
5809     IHTMLDOMNode *insertBefore(
5810             [in] IHTMLDOMNode *newChild,
5811             [in, optional] VARIANT refChild);
5812
5813     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
5814     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
5815
5816     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
5817     IHTMLDOMNode *replaceChild(
5818             [in] IHTMLDOMNode *newChild,
5819             [in] IHTMLDOMNode *oldChild);
5820
5821     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
5822     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
5823
5824     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
5825     IHTMLDOMNode *removeNode([in, defaultvalue(0)] VARIANT_BOOL fDeep);
5826
5827     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
5828     IHTMLDOMNode *swapNode([in] IHTMLDOMNode *otherNode);
5829
5830     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
5831     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
5832
5833     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
5834     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
5835
5836     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
5837     BSTR nodeName();
5838
5839     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5840     void nodeValue(VARIANT v);
5841
5842     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
5843     VARIANT nodeValue();
5844
5845     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
5846     IHTMLDOMNode *firstChild();
5847
5848     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
5849     IHTMLDOMNode *lastChild();
5850
5851     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
5852     IHTMLDOMNode *previousSibling();
5853
5854     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
5855     IHTMLDOMNode *nextSibling();
5856
5857     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
5858     IDispatch *ownerDocument();
5859 }
5860
5861 /*****************************************************************************
5862  *    IOmHistory interface
5863  */
5864 [
5865     odl,
5866     oleautomation,
5867     dual,
5868     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
5869 ]
5870 interface IOmHistory : IDispatch
5871 {
5872     [propget, id(DISPID_IOMHISTORY_LENGTH)]
5873     HRESULT length([retval, out] short *p);
5874
5875     [id(DISPID_IOMHISTORY_BACK)]
5876     HRESULT back([optional, in] VARIANT *pvargdistance);
5877
5878     [id(DISPID_IOMHISTORY_FORWARD)]
5879     HRESULT forward([optional, in] VARIANT *pvargdistance);
5880
5881     [id(DISPID_IOMHISTORY_GO)]
5882     HRESULT go([optional, in] VARIANT *pvargdistance);
5883 }
5884
5885 /*****************************************************************************
5886  *    IHTMLMimeTypesCollection interface
5887  */
5888 [
5889     odl,
5890     oleautomation,
5891     dual,
5892     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
5893 ]
5894 interface IHTMLMimeTypesCollection : IDispatch
5895 {
5896     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
5897     HRESULT length([retval, out] long *p);
5898 }
5899
5900 /*****************************************************************************
5901  *    IHTMLPluginsCollection interface
5902  */
5903 [
5904     odl,
5905     oleautomation,
5906     dual,
5907     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
5908 ]
5909 interface IHTMLPluginsCollection : IDispatch
5910 {
5911     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
5912     HRESULT length([retval, out] long *p);
5913
5914     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
5915     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
5916 }
5917
5918 /*****************************************************************************
5919  *    IHTMLOpsProfile interface
5920  */
5921 [
5922     odl,
5923     oleautomation,
5924     dual,
5925     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
5926 ]
5927 interface IHTMLOpsProfile : IDispatch
5928 {
5929     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
5930     HRESULT addRequest(
5931         [in] BSTR name,
5932         [optional, in] VARIANT reserved,
5933         [retval, out] VARIANT_BOOL *success);
5934
5935     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
5936     HRESULT clearRequest();
5937
5938     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
5939     HRESULT doRequest(
5940         [in] VARIANT usage,
5941         [optional, in] VARIANT fname,
5942         [optional, in] VARIANT domain,
5943         [optional, in] VARIANT path,
5944         [optional, in] VARIANT expire,
5945         [optional, in] VARIANT reserved);
5946
5947     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
5948     HRESULT getAttribute(
5949         [in] BSTR name,
5950         [retval, out] BSTR *value);
5951
5952     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
5953     HRESULT setAttribute(
5954         [in] BSTR name,
5955         [in] BSTR value,
5956         [optional, in] VARIANT prefs,
5957         [retval, out] VARIANT_BOOL *success);
5958
5959     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
5960     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
5961
5962     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
5963     HRESULT addReadRequest(
5964         [in] BSTR name,
5965         [optional, in] VARIANT reserved,
5966         [retval, out] VARIANT_BOOL *success);
5967
5968     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
5969     HRESULT doReadRequest(
5970         [in] VARIANT usage,
5971         [optional, in] VARIANT fname,
5972         [optional, in] VARIANT domain,
5973         [optional, in] VARIANT path,
5974         [optional, in] VARIANT expire,
5975         [optional, in] VARIANT reserved);
5976
5977     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
5978     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
5979 }
5980
5981 /*****************************************************************************
5982  *    IOmNavigator interface
5983  */
5984 [
5985         odl,
5986         oleautomation,
5987         dual,
5988         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
5989 ]
5990 interface IOmNavigator : IDispatch
5991 {
5992     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
5993     HRESULT appCodeName([retval, out] BSTR *p);
5994
5995     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
5996     HRESULT appName([retval, out] BSTR *p);
5997
5998     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
5999     HRESULT appVersion([retval, out] BSTR *p);
6000
6001     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
6002     HRESULT userAgent([retval, out] BSTR *p);
6003
6004     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
6005     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
6006
6007     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
6008     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
6009
6010     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
6011     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
6012
6013     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
6014     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
6015
6016     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
6017     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
6018
6019     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
6020     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
6021
6022     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
6023     HRESULT toString([retval, out] BSTR *String);
6024
6025     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
6026     HRESULT cpuClass([retval, out] BSTR *p);
6027
6028     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
6029     HRESULT systemLanguage([retval, out] BSTR *p);
6030
6031     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
6032     HRESULT browserLanguage([retval, out] BSTR *p);
6033
6034     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
6035     HRESULT userLanguage([retval, out] BSTR *p);
6036
6037     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
6038     HRESULT platform([retval, out] BSTR *p);
6039
6040     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
6041     HRESULT appMinorVersion([retval, out] BSTR *p);
6042
6043     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
6044     HRESULT connectionSpeed([retval, out] long *p);
6045
6046     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
6047     HRESULT onLine([retval, out] VARIANT_BOOL *p);
6048
6049     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
6050     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
6051 }
6052
6053 /*****************************************************************************
6054  *    IHTMLLocation interface
6055  */
6056 [
6057     odl,
6058     oleautomation,
6059     dual,
6060     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
6061 ]
6062 interface IHTMLLocation : IDispatch
6063 {
6064     [propput, id(DISPID_IHTMLLOCATION_HREF)]
6065     HRESULT href([in] BSTR v);
6066
6067     [propget, id(DISPID_IHTMLLOCATION_HREF)]
6068     HRESULT href([retval, out] BSTR *p);
6069
6070     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
6071     HRESULT protocol([in] BSTR v);
6072
6073     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
6074     HRESULT protocol([retval, out] BSTR *p);
6075
6076     [propput, id(DISPID_IHTMLLOCATION_HOST)]
6077     HRESULT host([in] BSTR v);
6078
6079     [propget, id(DISPID_IHTMLLOCATION_HOST)]
6080     HRESULT host([retval, out] BSTR *p);
6081
6082     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
6083     HRESULT hostname([in] BSTR v);
6084
6085     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
6086     HRESULT hostname([retval, out] BSTR *p);
6087
6088     [propput, id(DISPID_IHTMLLOCATION_PORT)]
6089     HRESULT port([in] BSTR v);
6090
6091     [propget, id(DISPID_IHTMLLOCATION_PORT)]
6092     HRESULT port([retval, out] BSTR *p);
6093
6094     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
6095     HRESULT pathname([in] BSTR v);
6096
6097     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
6098     HRESULT pathname([retval, out] BSTR *p);
6099
6100     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
6101     HRESULT search([in] BSTR v);
6102
6103     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
6104     HRESULT search([retval, out] BSTR *p);
6105
6106     [propput, id(DISPID_IHTMLLOCATION_HASH)]
6107     HRESULT hash([in] BSTR v);
6108
6109     [propget, id(DISPID_IHTMLLOCATION_HASH)]
6110     HRESULT hash([retval, out] BSTR *p);
6111
6112     [id(DISPID_IHTMLLOCATION_RELOAD)]
6113     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
6114
6115     [id(DISPID_IHTMLLOCATION_REPLACE)]
6116     HRESULT replace([in] BSTR bstr);
6117
6118     [id(DISPID_IHTMLLOCATION_ASSIGN)]
6119     HRESULT assign([in] BSTR bstr);
6120
6121     [id(DISPID_IHTMLLOCATION_TOSTRING)]
6122     HRESULT toString([retval, out] BSTR *String);
6123 }
6124
6125 /*****************************************************************************
6126  *    IHTMLDataTransfer interface
6127  */
6128 [
6129     odl,
6130     oleautomation,
6131     dual,
6132     uuid(3050f4b3-98b5-11cf-bb82-00aa00bdce0b)
6133 ]
6134 interface IHTMLDataTransfer : IDispatch
6135 {
6136     [id(DISPID_IHTMLDATATRANSFER_SETDATA)]
6137     HRESULT setData(
6138             [in] BSTR format,
6139             [in] VARIANT *data,
6140             [out, retval] VARIANT_BOOL *pret);
6141
6142     [id(DISPID_IHTMLDATATRANSFER_GETDATA)]
6143     HRESULT getData(
6144             [in] BSTR format,
6145             [out, retval] VARIANT *pvarRet);
6146
6147     [id(DISPID_IHTMLDATATRANSFER_CLEARDATA)]
6148     HRESULT clearData(
6149             [in] BSTR format,
6150             [out, retval] VARIANT_BOOL *pret);
6151
6152     [propput, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
6153     HRESULT dropEffect([in] BSTR v);
6154
6155     [propget, id(DISPID_IHTMLDATATRANSFER_DROPEFFECT)]
6156     HRESULT dropEffect([out, retval] BSTR *p);
6157
6158     [propput, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
6159     HRESULT effectAllowed([in] BSTR v);
6160
6161     [propget, id(DISPID_IHTMLDATATRANSFER_EFFECTALLOWED)]
6162     HRESULT effectAllowed([out, retval] BSTR *p);
6163 }
6164
6165 /*****************************************************************************
6166  *    IHTMLEventObj interface
6167  */
6168 [
6169     odl,
6170     oleautomation,
6171     dual,
6172     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
6173 ]
6174 interface IHTMLEventObj : IDispatch
6175 {
6176     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
6177     HRESULT srcElement([retval, out] IHTMLElement **p);
6178
6179     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
6180     HRESULT altKey([retval, out] VARIANT_BOOL *p);
6181
6182     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
6183     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
6184
6185     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
6186     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
6187
6188     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
6189     HRESULT returnValue([in] VARIANT v);
6190
6191     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
6192     HRESULT returnValue([retval, out] VARIANT *p);
6193
6194     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
6195     HRESULT cancelBubble([in] VARIANT_BOOL v);
6196
6197     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
6198     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
6199
6200     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
6201     HRESULT fromElement([retval, out] IHTMLElement **p);
6202
6203     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
6204     HRESULT toElement([retval, out] IHTMLElement **p);
6205
6206     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
6207     HRESULT keyCode([in] long v);
6208
6209     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
6210     HRESULT keyCode([retval, out] long *p);
6211
6212     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
6213     HRESULT button([retval, out] long *p);
6214
6215     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
6216     HRESULT type([retval, out] BSTR *p);
6217
6218     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
6219     HRESULT qualifier([retval, out] BSTR *p);
6220
6221     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
6222     HRESULT reason([retval, out] long *p);
6223
6224     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
6225     HRESULT x([retval, out] long *p);
6226
6227     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
6228     HRESULT y([retval, out] long *p);
6229
6230     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
6231     HRESULT clientX([retval, out] long *p);
6232
6233     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
6234     HRESULT clientY([retval, out] long *p);
6235
6236     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
6237     HRESULT offsetX([retval, out] long *p);
6238
6239     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
6240     HRESULT offsetY([retval, out] long *p);
6241
6242     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
6243     HRESULT screenX([retval, out] long *p);
6244
6245     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
6246     HRESULT screenY([retval, out] long *p);
6247
6248     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
6249     HRESULT srcFilter([retval, out] IDispatch **p);
6250 }
6251
6252 /*****************************************************************************
6253  *    IHTMLFramesCollection2 interface
6254  */
6255 [
6256     odl,
6257     oleautomation,
6258     dual,
6259     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
6260 ]
6261 interface IHTMLFramesCollection2 : IDispatch
6262 {
6263     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
6264     HRESULT item(
6265         [in] VARIANT *pvarIndex,
6266         [retval, out] VARIANT *pvarResult);
6267
6268     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
6269     HRESULT length([retval, out] long *p);
6270 }
6271
6272 /*****************************************************************************
6273  *    IHTMLScreen interface
6274  */
6275 [
6276     odl,
6277     oleautomation,
6278     dual,
6279     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
6280 ]
6281 interface IHTMLScreen : IDispatch
6282 {
6283     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
6284     HRESULT colorDepth([retval, out] long *p);
6285
6286     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
6287     HRESULT bufferDepth([in] long v);
6288
6289     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
6290     HRESULT bufferDepth([retval, out] long *p);
6291
6292     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
6293     HRESULT width([retval, out] long *p);
6294
6295     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
6296     HRESULT height([retval, out] long *p);
6297
6298     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
6299     HRESULT updateInterval([in] long v);
6300
6301     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
6302     HRESULT updateInterval([retval, out] long *p);
6303
6304     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
6305     HRESULT availHeight([retval, out] long *p);
6306
6307     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
6308     HRESULT availWidth([retval, out] long *p);
6309
6310     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
6311     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
6312 }
6313
6314 /*****************************************************************************
6315  *    IHTMLWindow2 interface
6316  */
6317 [
6318     odl,
6319     oleautomation,
6320     dual,
6321     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
6322 ]
6323 interface IHTMLWindow2 : IHTMLFramesCollection2
6324 {
6325     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
6326     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
6327
6328     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
6329     HRESULT defaultStatus([in] BSTR v);
6330
6331     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
6332     HRESULT defaultStatus([retval, out] BSTR *p);
6333
6334     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
6335     HRESULT status([in] BSTR v);
6336
6337     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
6338     HRESULT status([retval, out] BSTR *p);
6339
6340     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
6341     HRESULT setTimeout(
6342         [in] BSTR expression,
6343         [in] long msec,
6344         [optional, in] VARIANT *language,
6345         [retval, out] long *timerID);
6346
6347     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
6348     HRESULT clearTimeout([in] long timerID);
6349
6350     [id(DISPID_IHTMLWINDOW2_ALERT)]
6351     HRESULT alert([defaultvalue(""), in] BSTR message);
6352
6353     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
6354     HRESULT confirm(
6355         [defaultvalue(""), in] BSTR message,
6356         [retval, out] VARIANT_BOOL *confirmed);
6357
6358     [id(DISPID_IHTMLWINDOW2_PROMPT)]
6359     HRESULT prompt(
6360         [defaultvalue(""), in] BSTR message,
6361         [defaultvalue("undefined"), in] BSTR defstr,
6362         [retval, out] VARIANT *textdata);
6363
6364     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
6365     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
6366
6367     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
6368     HRESULT location([retval, out] IHTMLLocation **p);
6369
6370     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
6371     HRESULT history([retval, out] IOmHistory **p);
6372
6373     [id(DISPID_IHTMLWINDOW2_CLOSE)]
6374     HRESULT close();
6375
6376     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
6377     HRESULT opener([in] VARIANT v);
6378
6379     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
6380     HRESULT opener([retval, out] VARIANT *p);
6381
6382     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
6383     HRESULT navigator([retval, out] IOmNavigator **p);
6384
6385     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
6386     HRESULT name([in] BSTR v);
6387
6388     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
6389     HRESULT name([retval, out] BSTR *p);
6390
6391     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
6392     HRESULT parent([retval, out] IHTMLWindow2 **p);
6393
6394     [id(DISPID_IHTMLWINDOW2_OPEN)]
6395     HRESULT open(
6396         [defaultvalue(""), in] BSTR url,
6397         [defaultvalue(""), in] BSTR name,
6398         [defaultvalue(""), in] BSTR features,
6399         [defaultvalue(0), in] VARIANT_BOOL replace,
6400         [retval, out] IHTMLWindow2 **pomWindowResult);
6401
6402     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
6403     HRESULT self([retval, out] IHTMLWindow2 **p);
6404
6405     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
6406     HRESULT top([retval, out] IHTMLWindow2 **p);
6407
6408     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
6409     HRESULT window([retval, out] IHTMLWindow2 **p);
6410
6411     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
6412     HRESULT navigate([in] BSTR url);
6413
6414     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
6415     HRESULT onfocus([in] VARIANT v);
6416
6417     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
6418     HRESULT onfocus([retval, out] VARIANT *p);
6419
6420     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
6421     HRESULT onblur([in] VARIANT v);
6422
6423     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
6424     HRESULT onblur([retval, out] VARIANT *p);
6425
6426     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
6427     HRESULT onload([in] VARIANT v);
6428
6429     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
6430     HRESULT onload([retval, out] VARIANT *p);
6431
6432     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
6433     HRESULT onbeforeunload([in] VARIANT v);
6434
6435     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
6436     HRESULT onbeforeunload([retval, out] VARIANT *p);
6437
6438     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
6439     HRESULT onunload([in] VARIANT v);
6440
6441     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
6442     HRESULT onunload([retval, out] VARIANT *p);
6443
6444     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
6445     HRESULT onhelp([in] VARIANT v);
6446
6447     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
6448     HRESULT onhelp([retval, out] VARIANT *p);
6449
6450     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
6451     HRESULT onerror([in] VARIANT v);
6452
6453     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
6454     HRESULT onerror([retval, out] VARIANT *p);
6455
6456     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
6457     HRESULT onresize([in] VARIANT v);
6458
6459     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
6460     HRESULT onresize([retval, out] VARIANT *p);
6461
6462     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
6463     HRESULT onscroll([in] VARIANT v);
6464
6465     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
6466     HRESULT onscroll([retval, out] VARIANT *p);
6467
6468     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
6469     HRESULT document([retval, out] IHTMLDocument2 **p);
6470
6471     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
6472     HRESULT event([retval, out] IHTMLEventObj **p);
6473
6474     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
6475     HRESULT _newEnum([retval, out] IUnknown **p);
6476
6477     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
6478     HRESULT showModalDialog(
6479         [in] BSTR dialog,
6480         [optional, in] VARIANT *varArgIn,
6481         [optional, in] VARIANT *varOptions,
6482         [retval, out] VARIANT *varArgOut);
6483
6484     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
6485     HRESULT showHelp(
6486         [in] BSTR helpURL,
6487         [optional, in] VARIANT helpArg,
6488         [defaultvalue(""), in] BSTR features);
6489
6490     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
6491     HRESULT screen([retval, out] IHTMLScreen **p);
6492
6493     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
6494     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
6495
6496     [id(DISPID_IHTMLWINDOW2_FOCUS)]
6497     HRESULT focus();
6498
6499     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
6500     HRESULT closed([retval, out] VARIANT_BOOL *p);
6501
6502     [id(DISPID_IHTMLWINDOW2_BLUR)]
6503     HRESULT blur();
6504
6505     [id(DISPID_IHTMLWINDOW2_SCROLL)]
6506     HRESULT scroll([in] long x, [in] long y);
6507
6508     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
6509     HRESULT clientInformation([retval, out] IOmNavigator **p);
6510
6511     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
6512     HRESULT setInterval([
6513         in] BSTR expression,
6514         [in] long msec,
6515         [optional, in] VARIANT *language,
6516         [retval, out] long *timerID);
6517
6518     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
6519     HRESULT clearInterval([in] long timerID);
6520
6521     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
6522     HRESULT offscreenBuffering([in] VARIANT v);
6523
6524     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
6525     HRESULT offscreenBuffering([retval, out] VARIANT *p);
6526
6527     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
6528     HRESULT execScript(
6529         [in] BSTR scode,
6530         [defaultvalue("JScript"), in] BSTR language,
6531         [retval, out] VARIANT *pvarRet);
6532
6533     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
6534     HRESULT toString([retval, out] BSTR *String);
6535
6536     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
6537     HRESULT scrollBy([in] long x, [in] long y);
6538
6539     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
6540     HRESULT scrollTo([in] long x, [in] long y);
6541
6542     [id(DISPID_IHTMLWINDOW2_MOVETO)]
6543     HRESULT moveTo([in] long x, [in] long y);
6544
6545     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
6546     HRESULT moveBy([in] long x, [in] long y);
6547
6548     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
6549     HRESULT resizeTo([in] long x, [in] long y);
6550
6551     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
6552     HRESULT resizeBy([in] long x, [in] long y);
6553
6554     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
6555     HRESULT external([retval, out] IDispatch **p);
6556 }
6557
6558 /*****************************************************************************
6559  *    IHTMLWindow3 interface
6560  */
6561 [
6562     odl,
6563     oleautomation,
6564     dual,
6565     uuid(3050f4ae-98b5-11cf-bb82-00aa00bdce0b)
6566 ]
6567 interface IHTMLWindow3 : IDispatch
6568 {
6569     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
6570     HRESULT screenLeft([out, retval] long *p);
6571
6572     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
6573     HRESULT screenTop([out, retval] long *p);
6574
6575     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
6576     HRESULT attachEvent(
6577             [in] BSTR event,
6578             [in] IDispatch *pDisp,
6579             [out, retval] VARIANT_BOOL *pfResult);
6580
6581     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
6582     HRESULT detachEvent(
6583             [in] BSTR event,
6584             [in] IDispatch *pDisp);
6585
6586     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
6587     HRESULT setTimeout(
6588             [in] VARIANT *expression,
6589             [in] long msec,
6590             [in, optional] VARIANT *language,
6591             [out, retval] long *timerID);
6592
6593     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
6594     HRESULT setInterval(
6595             [in] VARIANT *expression,
6596             [in] long msec,
6597             [in, optional] VARIANT *language,
6598             [out, retval] long *timerID);
6599
6600     [id(DISPID_IHTMLWINDOW3_PRINT)]
6601     HRESULT print();
6602
6603     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
6604     HRESULT onbeforeprint([in] VARIANT v);
6605
6606     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
6607     HRESULT onbeforeprint([out, retval] VARIANT *p);
6608
6609     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
6610     HRESULT onafterprint([in] VARIANT v);
6611
6612     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
6613     HRESULT onafterprint([out, retval] VARIANT *p);
6614
6615     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
6616     HRESULT clipboardData([out, retval] IHTMLDataTransfer **p);
6617
6618     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
6619     HRESULT showModelessDialog(
6620             [in, defaultvalue("")] BSTR url,
6621             [in, optional] VARIANT *varArgIn,
6622             [in, optional] VARIANT *options,
6623             [out, retval] IHTMLWindow2 **pDialog);
6624 }
6625
6626 /*****************************************************************************
6627  *    DispHTMLWindow2 dispinterface
6628  */
6629 [
6630     hidden,
6631     uuid(3050f55d-98b5-11cf-bb82-00aa00bdce0b)
6632 ]
6633 dispinterface DispHTMLWindow2
6634 {
6635 properties:
6636 methods:
6637     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
6638     VARIANT item([in] VARIANT *pvarIndex);
6639
6640     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
6641     long length();
6642
6643     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
6644     IHTMLFramesCollection2 *frames();
6645
6646     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
6647     void defaultStatus(BSTR v);
6648
6649     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
6650     BSTR defaultStatus();
6651
6652     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
6653     void status(BSTR v);
6654
6655     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
6656     BSTR status();
6657
6658     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
6659     void clearTimeout([in] long timerID);
6660
6661     [id(DISPID_IHTMLWINDOW2_ALERT)]
6662     void alert([in, defaultvalue("")] BSTR message);
6663
6664     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
6665     VARIANT_BOOL confirm([in, defaultvalue("")] BSTR message);
6666
6667     [id(DISPID_IHTMLWINDOW2_PROMPT)]
6668     VARIANT prompt(
6669             [in, defaultvalue("")] BSTR message,
6670             [in, defaultvalue("undefined")] BSTR defstr);
6671
6672     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
6673     IHTMLImageElementFactory *Image();
6674
6675     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
6676     IHTMLLocation *location();
6677
6678     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
6679     IOmHistory *history();
6680
6681     [id(DISPID_IHTMLWINDOW2_CLOSE)]
6682     void close();
6683
6684     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
6685     void opener(VARIANT v);
6686
6687     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
6688     VARIANT opener();
6689
6690     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
6691     IOmNavigator *navigator();
6692
6693     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
6694     void name(BSTR v);
6695
6696     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
6697     BSTR name();
6698
6699     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
6700     IHTMLWindow2 *parent();
6701
6702     [id(DISPID_IHTMLWINDOW2_OPEN)]
6703     IHTMLWindow2 *open(
6704             [in, defaultvalue("")] BSTR url,
6705             [in, defaultvalue("")] BSTR name,
6706             [in, defaultvalue("")] BSTR features,
6707             [in, defaultvalue(0)]  VARIANT_BOOL replace);
6708
6709     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
6710     IHTMLWindow2 *self();
6711
6712     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
6713     IHTMLWindow2 *top();
6714
6715     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
6716     IHTMLWindow2 *window();
6717
6718     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
6719     void navigate([in] BSTR url);
6720
6721     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
6722     void onfocus(VARIANT v);
6723
6724     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS), displaybind, bindable]
6725     VARIANT onfocus();
6726
6727     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
6728     void onblur(VARIANT v);
6729
6730     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR), displaybind, bindable]
6731     VARIANT onblur();
6732
6733     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD), displaybind, bindable]
6734     VARIANT onload();
6735
6736     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
6737     void onbeforeunload(VARIANT v);
6738
6739     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD), displaybind, bindable]
6740     VARIANT onbeforeunload();
6741
6742     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
6743     void onunload(VARIANT v);
6744
6745     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD), displaybind, bindable]
6746     VARIANT onunload();
6747
6748     [propput, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
6749     void onhelp(VARIANT v);
6750
6751     [propget, id(DISPID_IHTMLWINDOW2_ONHELP), displaybind, bindable]
6752     VARIANT onhelp();
6753
6754     [propput, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
6755     void onerror(VARIANT v);
6756
6757     [propget, id(DISPID_IHTMLWINDOW2_ONERROR), displaybind, bindable]
6758     VARIANT onerror();
6759
6760     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
6761     void onresize(VARIANT v);
6762
6763     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE), displaybind, bindable]
6764     VARIANT onresize();
6765
6766     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
6767     void onscroll(VARIANT v);
6768
6769     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL), displaybind, bindable]
6770     VARIANT onscroll();
6771
6772     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT), source]
6773     IHTMLDocument2 *document();
6774
6775     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
6776     IHTMLEventObj *event();
6777
6778     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM), hidden, restricted]
6779     IUnknown *_newEnum();
6780
6781     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
6782     VARIANT showModalDialog(
6783             [in] BSTR dialog,
6784             [in, optional] VARIANT *varArgIn,
6785             [in, optional] VARIANT *varOptions);
6786
6787     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
6788     void showHelp(
6789             [in] BSTR helpURL,
6790             [in, optional] VARIANT helpArg,
6791             [in, defaultvalue("")] BSTR features);
6792
6793     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
6794     IHTMLScreen *screen();
6795
6796     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
6797     IHTMLOptionElementFactory *Option();
6798
6799     [id(DISPID_IHTMLWINDOW2_FOCUS)]
6800     void focus();
6801
6802     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
6803     VARIANT_BOOL closed();
6804
6805     [id(DISPID_IHTMLWINDOW2_BLUR)]
6806     void blur();
6807
6808     [id(DISPID_IHTMLWINDOW2_SCROLL)]
6809     void scroll([in] long x, [in] long y);
6810
6811     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
6812     IOmNavigator *clientInformation();
6813
6814     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
6815     void clearInterval([in] long timerID);
6816
6817     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
6818     void offscreenBuffering(VARIANT v);
6819
6820     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
6821     VARIANT offscreenBuffering();
6822
6823     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
6824     VARIANT execScript(
6825             [in] BSTR _code,
6826             [in, defaultvalue("JScript")] BSTR language);
6827
6828     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
6829     BSTR toString();
6830
6831     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
6832     void scrollBy([in] long x, [in] long y);
6833
6834     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
6835     void scrollTo([in] long x, [in] long y);
6836
6837     [id(DISPID_IHTMLWINDOW2_MOVETO)]
6838     void moveTo([in] long x, [in] long y);
6839
6840     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
6841     void moveBy([in] long x, [in] long y);
6842
6843     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
6844     void resizeTo([in] long x, [in] long y);
6845
6846     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
6847     void resizeBy([in] long x, [in] long y);
6848
6849     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
6850     IDispatch *external();
6851
6852     [propget, id(DISPID_IHTMLWINDOW3_SCREENLEFT)]
6853     long screenLeft();
6854
6855     [propget, id(DISPID_IHTMLWINDOW3_SCREENTOP)]
6856     long screenTop();
6857
6858     [id(DISPID_IHTMLWINDOW3_ATTACHEVENT)]
6859     VARIANT_BOOL attachEvent(
6860              [in] BSTR event,
6861              [in] IDispatch *pDisp);
6862
6863     [id(DISPID_IHTMLWINDOW3_DETACHEVENT)]
6864     void detachEvent(
6865             [in] BSTR event,
6866             [in] IDispatch *pDisp);
6867
6868     [id(DISPID_IHTMLWINDOW3_SETTIMEOUT)]
6869     long setTimeout(
6870             [in] VARIANT *expression,
6871             [in] long msec,
6872             [in, optional] VARIANT *language);
6873
6874     [id(DISPID_IHTMLWINDOW3_SETINTERVAL)]
6875     long setInterval(
6876             [in] VARIANT *expression,
6877             [in] long msec,
6878             [in, optional] VARIANT *language);
6879
6880     [id(DISPID_IHTMLWINDOW3_PRINT)]
6881     void print();
6882
6883     [propput, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
6884     void onbeforeprint(VARIANT v);
6885
6886     [propget, id(DISPID_IHTMLWINDOW3_ONBEFOREPRINT), displaybind, bindable]
6887     VARIANT onbeforeprint();
6888
6889     [propput, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
6890     void onafterprint(VARIANT v);
6891
6892     [propget, id(DISPID_IHTMLWINDOW3_ONAFTERPRINT), displaybind, bindable]
6893     VARIANT onafterprint();
6894
6895     [propget, id(DISPID_IHTMLWINDOW3_CLIPBOARDDATA)]
6896     IHTMLDataTransfer *clipboardData();
6897
6898     [id(DISPID_IHTMLWINDOW3_SHOWMODELESSDIALOG)]
6899     IHTMLWindow2 *showModelessDialog(
6900             [in, defaultvalue("")] BSTR url,
6901             [in, optional] VARIANT *varArgIn,
6902             [in, optional] VARIANT *options);
6903
6904     [id(DISPID_IHTMLWINDOW4_CREATEPOPUP)]
6905     IDispatch *createPopup([in, optional] VARIANT *varArgIn);
6906
6907     [propget, id(DISPID_IHTMLWINDOW4_FRAMEELEMENT)]
6908     IHTMLFrameBase *frameElement();
6909 }
6910
6911 /*****************************************************************************
6912  *    HTMLDocumentEvents2 interface
6913  */
6914 [
6915     hidden,
6916     uuid(3050f613-98b5-11cf-bb82-00aa00bdce0b)
6917 ]
6918 dispinterface HTMLDocumentEvents2
6919 {
6920     properties:
6921     methods:
6922     [id(DISPID_HTMLDOCUMENTEVENTS2_ONHELP)]
6923     VARIANT_BOOL onhelp([in] IHTMLEventObj *pEvtObj);
6924
6925     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCLICK)]
6926     VARIANT_BOOL onclick([in] IHTMLEventObj *pEvtObj);
6927
6928     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDBLCLICK)]
6929     VARIANT_BOOL ondblclick([in] IHTMLEventObj *pEvtObj);
6930
6931     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYDOWN)]
6932     void onkeydown([in] IHTMLEventObj *pEvtObj);
6933
6934     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYUP)]
6935     void onkeyup([in] IHTMLEventObj *pEvtObj);
6936
6937     [id(DISPID_HTMLDOCUMENTEVENTS2_ONKEYPRESS)]
6938     VARIANT_BOOL onkeypress([in] IHTMLEventObj *pEvtObj);
6939
6940     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEDOWN)]
6941     void onmousedown([in] IHTMLEventObj *pEvtObj);
6942
6943     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEMOVE)]
6944     void onmousemove([in] IHTMLEventObj *pEvtObj);
6945
6946     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEUP)]
6947     void onmouseup([in] IHTMLEventObj *pEvtObj);
6948
6949     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOUT)]
6950     void onmouseout([in] IHTMLEventObj *pEvtObj);
6951
6952     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEOVER)]
6953     void onmouseover([in] IHTMLEventObj *pEvtObj);
6954
6955     [id(DISPID_HTMLDOCUMENTEVENTS2_ONREADYSTATECHANGE)]
6956     void onreadystatechange([in] IHTMLEventObj *pEvtObj);
6957
6958     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREUPDATE)]
6959     VARIANT_BOOL onbeforeupdate([in] IHTMLEventObj *pEvtObj);
6960
6961     [id(DISPID_HTMLDOCUMENTEVENTS2_ONAFTERUPDATE)]
6962     void onafterupdate([in] IHTMLEventObj *pEvtObj);
6963
6964     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWEXIT)]
6965     VARIANT_BOOL onrowexit([in] IHTMLEventObj *pEvtObj);
6966
6967     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWENTER)]
6968     void onrowenter([in] IHTMLEventObj *pEvtObj);
6969
6970     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDRAGSTART)]
6971     VARIANT_BOOL ondragstart([in] IHTMLEventObj *pEvtObj);
6972
6973     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTSTART)]
6974     VARIANT_BOOL onselectstart([in] IHTMLEventObj *pEvtObj);
6975
6976     [id(DISPID_HTMLDOCUMENTEVENTS2_ONERRORUPDATE)]
6977     VARIANT_BOOL onerrorupdate([in] IHTMLEventObj *pEvtObj);
6978
6979     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU)]
6980     VARIANT_BOOL oncontextmenu([in] IHTMLEventObj *pEvtObj);
6981
6982     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSTOP)]
6983     VARIANT_BOOL onstop([in] IHTMLEventObj *pEvtObj);
6984
6985     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSDELETE)]
6986     void onrowsdelete([in] IHTMLEventObj *pEvtObj);
6987
6988     [id(DISPID_HTMLDOCUMENTEVENTS2_ONROWSINSERTED)]
6989     void onrowsinserted([in] IHTMLEventObj *pEvtObj);
6990
6991     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCELLCHANGE)]
6992     void oncellchange([in] IHTMLEventObj *pEvtObj);
6993
6994     [id(DISPID_HTMLDOCUMENTEVENTS2_ONPROPERTYCHANGE)]
6995     void onpropertychange([in] IHTMLEventObj *pEvtObj);
6996
6997     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCHANGED)]
6998     void ondatasetchanged([in] IHTMLEventObj *pEvtObj);
6999
7000     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATAAVAILABLE)]
7001     void ondataavailable([in] IHTMLEventObj *pEvtObj);
7002
7003     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDATASETCOMPLETE)]
7004     void ondatasetcomplete([in] IHTMLEventObj *pEvtObj);
7005
7006     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREEDITFOCUS)]
7007     void onbeforeeditfocus([in] IHTMLEventObj *pEvtObj);
7008
7009     [id(DISPID_HTMLDOCUMENTEVENTS2_ONSELECTIONCHANGE)]
7010     void onselectionchange([in] IHTMLEventObj *pEvtObj);
7011
7012     [id(DISPID_HTMLDOCUMENTEVENTS2_ONCONTROLSELECT)]
7013     VARIANT_BOOL oncontrolselect([in] IHTMLEventObj *pEvtObj);
7014
7015     [id(DISPID_HTMLDOCUMENTEVENTS2_ONMOUSEWHEEL)]
7016     VARIANT_BOOL onmousewheel([in] IHTMLEventObj *pEvtObj);
7017
7018     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSIN)]
7019     void onfocusin([in] IHTMLEventObj *pEvtObj);
7020
7021     [id(DISPID_HTMLDOCUMENTEVENTS2_ONFOCUSOUT)]
7022     void onfocusout([in] IHTMLEventObj *pEvtObj);
7023
7024     [id(DISPID_HTMLDOCUMENTEVENTS2_ONACTIVATE)]
7025     void onactivate([in] IHTMLEventObj *pEvtObj);
7026
7027     [id(DISPID_HTMLDOCUMENTEVENTS2_ONDEACTIVATE)]
7028     void ondeactivate([in] IHTMLEventObj *pEvtObj);
7029
7030     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREACTIVATE)]
7031     VARIANT_BOOL onbeforeactivate([in] IHTMLEventObj *pEvtObj);
7032
7033     [id(DISPID_HTMLDOCUMENTEVENTS2_ONBEFOREDEACTIVATE)]
7034     VARIANT_BOOL onbeforedeactivate([in] IHTMLEventObj *pEvtObj);
7035 }
7036
7037 /*****************************************************************************
7038  *    HTMLDocumentEvents interface
7039  */
7040 [
7041     hidden,
7042     uuid(3050f260-98b5-11cf-bb82-00aa00bdce0b)
7043 ]
7044 dispinterface HTMLDocumentEvents
7045 {
7046     properties:
7047     methods:
7048     [id(DISPID_HTMLDOCUMENTEVENTS_ONHELP)]
7049     VARIANT_BOOL onhelp();
7050
7051     [id(DISPID_HTMLDOCUMENTEVENTS_ONCLICK)]
7052     VARIANT_BOOL onclick();
7053
7054     [id(DISPID_HTMLDOCUMENTEVENTS_ONDBLCLICK)]
7055     VARIANT_BOOL ondblclick();
7056
7057     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN)]
7058     void onkeydown();
7059
7060     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYUP)]
7061     void onkeyup();
7062
7063     [id(DISPID_HTMLDOCUMENTEVENTS_ONKEYPRESS)]
7064     VARIANT_BOOL onkeypress();
7065
7066     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEDOWN)]
7067     void onmousedown();
7068
7069     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEMOVE)]
7070     void onmousemove();
7071
7072     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEUP)]
7073     void onmouseup();
7074
7075     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOUT)]
7076     void onmouseout();
7077
7078     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEOVER)]
7079     void onmouseover();
7080
7081     [id(DISPID_HTMLDOCUMENTEVENTS_ONREADYSTATECHANGE)]
7082     void onreadystatechange();
7083
7084     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREUPDATE)]
7085     VARIANT_BOOL onbeforeupdate();
7086
7087     [id(DISPID_HTMLDOCUMENTEVENTS_ONAFTERUPDATE)]
7088     void onafterupdate();
7089
7090     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWEXIT)]
7091     VARIANT_BOOL onrowexit();
7092
7093     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWENTER)]
7094     void onrowenter();
7095
7096     [id(DISPID_HTMLDOCUMENTEVENTS_ONDRAGSTART)]
7097     VARIANT_BOOL ondragstart();
7098
7099     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTSTART)]
7100     VARIANT_BOOL onselectstart();
7101
7102     [id(DISPID_HTMLDOCUMENTEVENTS_ONERRORUPDATE)]
7103     VARIANT_BOOL onerrorupdate();
7104
7105     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTEXTMENU)]
7106     VARIANT_BOOL oncontextmenu();
7107
7108     [id(DISPID_HTMLDOCUMENTEVENTS_ONSTOP)]
7109     VARIANT_BOOL onstop();
7110
7111     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSDELETE)]
7112     void onrowsdelete();
7113
7114     [id(DISPID_HTMLDOCUMENTEVENTS_ONROWSINSERTED)]
7115     void onrowsinserted();
7116
7117     [id(DISPID_HTMLDOCUMENTEVENTS_ONCELLCHANGE)]
7118     void oncellchange();
7119
7120     [id(DISPID_HTMLDOCUMENTEVENTS_ONPROPERTYCHANGE)]
7121     void onpropertychange();
7122
7123     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCHANGED)]
7124     void ondatasetchanged();
7125
7126     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATAAVAILABLE)]
7127     void ondataavailable();
7128
7129     [id(DISPID_HTMLDOCUMENTEVENTS_ONDATASETCOMPLETE)]
7130     void ondatasetcomplete();
7131
7132     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREEDITFOCUS)]
7133     void onbeforeeditfocus();
7134
7135     [id(DISPID_HTMLDOCUMENTEVENTS_ONSELECTIONCHANGE)]
7136     void onselectionchange();
7137
7138     [id(DISPID_HTMLDOCUMENTEVENTS_ONCONTROLSELECT)]
7139     VARIANT_BOOL oncontrolselect();
7140
7141     [id(DISPID_HTMLDOCUMENTEVENTS_ONMOUSEWHEEL)]
7142     VARIANT_BOOL onmousewheel();
7143
7144     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSIN)]
7145     void onfocusin();
7146
7147     [id(DISPID_HTMLDOCUMENTEVENTS_ONFOCUSOUT)]
7148     void onfocusout();
7149
7150     [id(DISPID_HTMLDOCUMENTEVENTS_ONACTIVATE)]
7151     void onactivate();
7152
7153     [id(DISPID_HTMLDOCUMENTEVENTS_ONDEACTIVATE)]
7154     void ondeactivate();
7155
7156     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREACTIVATE)]
7157     VARIANT_BOOL onbeforeactivate();
7158
7159     [id(DISPID_HTMLDOCUMENTEVENTS_ONBEFOREDEACTIVATE)]
7160     VARIANT_BOOL onbeforedeactivate();
7161 }
7162
7163 /*****************************************************************************
7164  *    HTMLTextContainerEvents interface
7165  */
7166 [
7167     hidden,
7168     uuid(1ff6aa72-5842-11cf-a707-00aa00c0098d)
7169 ]
7170 dispinterface HTMLTextContainerEvents
7171 {
7172 properties:
7173
7174 methods:
7175     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
7176     VARIANT_BOOL onhelp();
7177
7178     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
7179     VARIANT_BOOL onclick();
7180
7181     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
7182     VARIANT_BOOL ondblclick();
7183
7184     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
7185     VARIANT_BOOL onkeypress();
7186
7187     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
7188     void onkeydown();
7189
7190     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
7191     void onkeyup();
7192
7193     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
7194     void onmouseout();
7195
7196     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
7197     void onmouseover();
7198
7199     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
7200     void onmousemove();
7201
7202     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
7203     void onmousedown();
7204
7205     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
7206     void onmouseup();
7207
7208     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
7209     VARIANT_BOOL onselectstart();
7210
7211     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
7212     void onfilterchange();
7213
7214     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
7215     VARIANT_BOOL ondragstart();
7216
7217     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
7218     VARIANT_BOOL onbeforeupdate();
7219
7220     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
7221     void onafterupdate();
7222
7223     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
7224     VARIANT_BOOL onerrorupdate();
7225
7226     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
7227     VARIANT_BOOL onrowexit();
7228
7229     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
7230     void onrowenter();
7231
7232     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
7233     void ondatasetchanged();
7234
7235     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
7236     void ondataavailable();
7237
7238     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
7239     void ondatasetcomplete();
7240
7241     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
7242     void onlosecapture();
7243
7244     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
7245     void onpropertychange();
7246
7247     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
7248     void onscroll();
7249
7250     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
7251     void onfocus();
7252
7253     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
7254     void onblur();
7255
7256     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
7257     void onresize();
7258
7259     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
7260     VARIANT_BOOL ondrag();
7261
7262     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
7263     void ondragend();
7264
7265     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
7266     VARIANT_BOOL ondragenter();
7267
7268     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
7269     VARIANT_BOOL ondragover();
7270
7271     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
7272     void ondragleave();
7273
7274     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
7275     VARIANT_BOOL ondrop();
7276
7277     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
7278     VARIANT_BOOL onbeforecut();
7279
7280     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
7281     VARIANT_BOOL oncut();
7282
7283     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
7284     VARIANT_BOOL onbeforecopy();
7285
7286     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
7287     VARIANT_BOOL oncopy();
7288
7289     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
7290     VARIANT_BOOL onbeforepaste();
7291
7292     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
7293     VARIANT_BOOL onpaste();
7294
7295     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
7296     VARIANT_BOOL oncontextmenu();
7297
7298     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
7299     void onrowsdelete();
7300
7301     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
7302     void onrowsinserted();
7303
7304     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
7305     void oncellchange();
7306
7307     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
7308     void onreadystatechange();
7309
7310     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
7311     void onbeforeeditfocus();
7312
7313     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
7314     void onlayoutcomplete();
7315
7316     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
7317     void onpage();
7318
7319     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
7320     VARIANT_BOOL onbeforedeactivate();
7321
7322     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
7323     VARIANT_BOOL onbeforeactivate();
7324
7325     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
7326     void onmove();
7327
7328     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
7329     VARIANT_BOOL oncontrolselect();
7330
7331     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
7332     VARIANT_BOOL onmovestart();
7333
7334     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
7335     void onmoveend();
7336
7337     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
7338     VARIANT_BOOL onresizestart();
7339
7340     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
7341     void onresizeend();
7342
7343     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
7344     void onmouseenter();
7345
7346     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
7347     void onmouseleave();
7348
7349     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
7350     VARIANT_BOOL onmousewheel();
7351
7352     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
7353     void onactivate();
7354
7355     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
7356     void ondeactivate();
7357
7358     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
7359     void onfocusin();
7360
7361     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
7362     void onfocusout();
7363
7364     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONCHANGE)]
7365     void onchange();
7366
7367     [id(DISPID_HTMLTEXTCONTAINEREVENTS_ONSELECT)]
7368     void onselect();
7369 };
7370
7371 /*****************************************************************************
7372  *    IHTMLDocument interface
7373  */
7374 [
7375     odl,
7376     oleautomation,
7377     dual,
7378     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
7379 ]
7380 interface IHTMLDocument : IDispatch
7381 {
7382     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
7383     HRESULT Script([retval, out] IDispatch **p);
7384 }
7385
7386 /*****************************************************************************
7387  *    IHTMLDocument2 interface
7388  */
7389 [
7390     odl,
7391     oleautomation,
7392     dual,
7393     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
7394 ]
7395 interface IHTMLDocument2 : IHTMLDocument
7396 {
7397     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
7398     HRESULT all([retval, out] IHTMLElementCollection **p);
7399
7400     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
7401     HRESULT body([retval, out] IHTMLElement **p);
7402
7403     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
7404     HRESULT activeElement([retval, out] IHTMLElement **p);
7405
7406     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
7407     HRESULT images([retval, out] IHTMLElementCollection **p);
7408
7409     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
7410     HRESULT applets([retval, out] IHTMLElementCollection **p);
7411
7412     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
7413     HRESULT links([retval, out] IHTMLElementCollection **p);
7414
7415     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
7416     HRESULT forms([retval, out] IHTMLElementCollection **p);
7417
7418     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
7419     HRESULT anchors([retval, out] IHTMLElementCollection **p);
7420
7421     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
7422     HRESULT title([in] BSTR v);
7423
7424     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
7425     HRESULT title([retval, out] BSTR *p);
7426
7427     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
7428     HRESULT scripts([retval, out] IHTMLElementCollection **p);
7429
7430     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
7431     HRESULT designMode([in] BSTR v);
7432
7433     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
7434     HRESULT designMode([retval, out] BSTR *p);
7435
7436     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
7437     HRESULT selection([retval, out] IHTMLSelectionObject **p);
7438
7439     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
7440      HRESULT readyState([retval, out] BSTR *p);
7441
7442     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
7443     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
7444
7445     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
7446     HRESULT embeds([retval, out] IHTMLElementCollection **p);
7447
7448     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
7449     HRESULT plugins([retval, out] IHTMLElementCollection **p);
7450
7451     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
7452     HRESULT alinkColor([in] VARIANT v);
7453
7454     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
7455     HRESULT alinkColor([retval, out] VARIANT *p);
7456
7457     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
7458     HRESULT bgColor([in] VARIANT v);
7459
7460     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
7461     HRESULT bgColor([retval, out] VARIANT *p);
7462
7463     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
7464     HRESULT fgColor([in] VARIANT v);
7465
7466     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
7467     HRESULT fgColor([retval, out] VARIANT *p);
7468
7469     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
7470     HRESULT linkColor([in] VARIANT v);
7471
7472     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
7473     HRESULT linkColor([retval, out] VARIANT *p);
7474
7475     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
7476     HRESULT vlinkColor([in] VARIANT v);
7477
7478     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
7479     HRESULT vlinkColor([retval, out] VARIANT *p);
7480
7481     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
7482     HRESULT referrer([retval, out] BSTR *p);
7483
7484     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
7485     HRESULT location([retval, out] IHTMLLocation **p);
7486
7487     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
7488     HRESULT lastModified([retval, out] BSTR *p);
7489
7490     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
7491     HRESULT URL([in] BSTR v);
7492
7493     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
7494     HRESULT URL([retval, out] BSTR *p);
7495
7496     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
7497     HRESULT domain([in] BSTR v);
7498
7499     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
7500     HRESULT domain([retval, out] BSTR *p);
7501
7502     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
7503     HRESULT cookie([in] BSTR v);
7504
7505     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
7506     HRESULT cookie([retval, out] BSTR *p);
7507
7508     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
7509     HRESULT expando([in] VARIANT_BOOL v);
7510
7511     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
7512     HRESULT expando([retval, out] VARIANT_BOOL *p);
7513
7514     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
7515      HRESULT charset([in] BSTR v);
7516
7517     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
7518     HRESULT charset([retval, out] BSTR *p);
7519
7520     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
7521     HRESULT defaultCharset([in] BSTR v);
7522
7523     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
7524     HRESULT defaultCharset([retval, out] BSTR *p);
7525
7526     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
7527     HRESULT mimeType([retval, out] BSTR *p);
7528
7529     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
7530     HRESULT fileSize([retval, out] BSTR *p);
7531
7532     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
7533     HRESULT fileCreatedDate([retval, out] BSTR *p);
7534
7535     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
7536     HRESULT fileModifiedDate([retval, out] BSTR *p);
7537
7538     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
7539     HRESULT fileUpdatedDate([retval, out] BSTR *p);
7540
7541     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
7542     HRESULT security([retval, out] BSTR *p);
7543
7544     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
7545     HRESULT protocol([retval, out] BSTR *p);
7546
7547     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
7548      HRESULT nameProp([retval, out] BSTR *p);
7549
7550     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
7551     HRESULT write([in] SAFEARRAY(VARIANT) psarray);
7552
7553     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
7554     HRESULT writeln([in] SAFEARRAY(VARIANT) psarray);
7555
7556     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
7557     HRESULT open(
7558         [defaultvalue("text/html"), in] BSTR url,
7559         [optional, in] VARIANT name,
7560         [optional, in] VARIANT features,
7561         [optional, in] VARIANT replace,
7562         [retval, out]  IDispatch **pomWindowResult);
7563
7564     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
7565     HRESULT close();
7566
7567     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
7568     HRESULT clear();
7569
7570     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
7571     HRESULT queryCommandSupported(
7572         [in] BSTR cmdID,
7573         [retval, out] VARIANT_BOOL *pfRet);
7574
7575     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
7576     HRESULT queryCommandEnabled(
7577         [in] BSTR cmdID,
7578         [retval, out] VARIANT_BOOL *pfRet);
7579
7580     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
7581     HRESULT queryCommandState(
7582         [in] BSTR cmdID,
7583         [retval, out] VARIANT_BOOL *pfRet);
7584
7585     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
7586     HRESULT queryCommandIndeterm(
7587         [in] BSTR cmdID,
7588         [retval, out] VARIANT_BOOL *pfRet);
7589
7590     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
7591     HRESULT queryCommandText(
7592         [in] BSTR cmdID,
7593         [retval, out] BSTR *pcmdText);
7594
7595     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
7596     HRESULT queryCommandValue(
7597         [in] BSTR cmdID,
7598         [retval, out] VARIANT *pcmdValue);
7599
7600     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
7601     HRESULT execCommand(
7602         [in] BSTR cmdID,
7603         [defaultvalue(0), in] VARIANT_BOOL showUI,
7604         [optional, in] VARIANT value,
7605         [retval, out] VARIANT_BOOL *pfRet);
7606
7607     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
7608     HRESULT execCommandShowHelp(
7609         [in] BSTR cmdID,
7610         [retval, out] VARIANT_BOOL *pfRet);
7611
7612     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
7613      HRESULT createElement(
7614         [in] BSTR eTag,
7615         [retval, out] IHTMLElement **newElem);
7616
7617     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
7618     HRESULT onhelp([in] VARIANT v);
7619
7620     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
7621     HRESULT onhelp([retval, out] VARIANT *p);
7622
7623     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
7624     HRESULT onclick([in] VARIANT v);
7625
7626     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
7627     HRESULT onclick([retval, out] VARIANT *p);
7628
7629     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
7630     HRESULT ondblclick([in] VARIANT v);
7631
7632     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
7633     HRESULT ondblclick([retval, out] VARIANT *p);
7634
7635     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
7636     HRESULT onkeyup([in] VARIANT v);
7637
7638     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
7639     HRESULT onkeyup([retval, out] VARIANT *p);
7640
7641     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
7642     HRESULT onkeydown([in] VARIANT v);
7643
7644     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
7645     HRESULT onkeydown([retval, out] VARIANT *p);
7646
7647     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
7648      HRESULT onkeypress([in] VARIANT v);
7649
7650     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
7651     HRESULT onkeypress([retval, out] VARIANT *p);
7652
7653     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
7654     HRESULT onmouseup([in] VARIANT v);
7655
7656     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
7657     HRESULT onmouseup([retval, out] VARIANT *p);
7658
7659     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
7660     HRESULT onmousedown([in] VARIANT v);
7661
7662     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
7663     HRESULT onmousedown([retval, out] VARIANT *p);
7664
7665     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
7666     HRESULT onmousemove([in] VARIANT v);
7667
7668     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
7669     HRESULT onmousemove([retval, out] VARIANT *p);
7670
7671     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
7672     HRESULT onmouseout([in] VARIANT v);
7673
7674     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
7675     HRESULT onmouseout([retval, out] VARIANT *p);
7676
7677     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
7678     HRESULT onmouseover([in] VARIANT v);
7679
7680     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
7681     HRESULT onmouseover([retval, out] VARIANT *p);
7682
7683     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
7684     HRESULT onreadystatechange([in] VARIANT v);
7685
7686     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
7687     HRESULT onreadystatechange([retval, out] VARIANT *p);
7688
7689     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
7690     HRESULT onafterupdate([in] VARIANT v);
7691
7692     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
7693     HRESULT onafterupdate([retval, out] VARIANT *p);
7694
7695     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
7696     HRESULT onrowexit([in] VARIANT v);
7697
7698     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
7699     HRESULT onrowexit([retval, out] VARIANT *p);
7700
7701     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
7702     HRESULT onrowenter([in] VARIANT v);
7703
7704     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
7705     HRESULT onrowenter([retval, out] VARIANT *p);
7706
7707     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
7708     HRESULT ondragstart([in] VARIANT v);
7709
7710     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
7711     HRESULT ondragstart([retval, out] VARIANT *p);
7712
7713     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
7714     HRESULT onselectstart([in] VARIANT v);
7715
7716     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
7717     HRESULT onselectstart([retval, out] VARIANT *p);
7718
7719     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
7720     HRESULT elementFromPoint(
7721         [in] long x,
7722         [in] long y,
7723         [retval, out] IHTMLElement **elementHit);
7724
7725     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
7726     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
7727
7728     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
7729     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
7730
7731     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
7732     HRESULT onbeforeupdate([in] VARIANT v);
7733
7734     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
7735     HRESULT onbeforeupdate([retval, out] VARIANT *p);
7736
7737     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
7738     HRESULT onerrorupdate([in] VARIANT v);
7739
7740     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
7741     HRESULT onerrorupdate([retval, out] VARIANT *p);
7742
7743     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
7744     HRESULT toString([retval, out] BSTR *String);
7745
7746     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
7747     HRESULT createStyleSheet(
7748         [defaultvalue(""), in] BSTR bstrHref,
7749         [defaultvalue(-1), in] long lIndex,
7750         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
7751 }
7752
7753 /*****************************************************************************
7754  *    IHTMLDocument3 interface
7755  */
7756 [
7757     odl,
7758     oleautomation,
7759     dual,
7760     uuid(3050f485-98b5-11cf-bb82-00aa00bdce0b)
7761 ]
7762 interface IHTMLDocument3 : IDispatch
7763 {
7764     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
7765     HRESULT releaseCapture();
7766
7767     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
7768     HRESULT recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
7769
7770     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
7771     HRESULT createTextNode(
7772         [in] BSTR text,
7773         [retval, out] IHTMLDOMNode **newTextNode);
7774
7775     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
7776     HRESULT documentElement([retval, out] IHTMLElement **p);
7777
7778     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
7779     HRESULT uniqueID([retval, out] BSTR *p);
7780
7781     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
7782     HRESULT attachEvent(
7783         [in] BSTR event,
7784         [in] IDispatch* pDisp,
7785         [retval, out] VARIANT_BOOL *pfResult);
7786
7787     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
7788     HRESULT detachEvent(
7789         [in] BSTR event,
7790         [in] IDispatch *pDisp);
7791
7792     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
7793     HRESULT onrowsdelete([in] VARIANT v);
7794
7795     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
7796     HRESULT onrowsdelete([retval, out] VARIANT *p);
7797
7798     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
7799     HRESULT onrowsinserted([in] VARIANT v);
7800
7801     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
7802     HRESULT onrowsinserted([retval, out] VARIANT *p);
7803
7804     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
7805     HRESULT oncellchange([in] VARIANT v);
7806
7807     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
7808     HRESULT oncellchange([retval, out] VARIANT *p);
7809
7810     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
7811     HRESULT ondatasetchanged([in] VARIANT v);
7812
7813     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
7814     HRESULT ondatasetchanged([retval, out] VARIANT *p);
7815
7816     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
7817     HRESULT ondataavailable([in] VARIANT v);
7818
7819     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
7820     HRESULT ondataavailable([retval, out] VARIANT * p);
7821
7822     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
7823     HRESULT ondatasetcomplete([in] VARIANT v);
7824
7825     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
7826     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
7827
7828     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
7829     HRESULT onpropertychange([in] VARIANT v);
7830
7831     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
7832     HRESULT onpropertychange([retval, out] VARIANT *p);
7833
7834     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
7835     HRESULT dir([in] BSTR v);
7836
7837     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
7838     HRESULT dir([retval, out] BSTR *p);
7839
7840     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
7841     HRESULT oncontextmenu([in] VARIANT v);
7842
7843     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
7844     HRESULT oncontextmenu([retval, out] VARIANT *p);
7845
7846     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
7847     HRESULT onstop([in] VARIANT v);
7848
7849     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
7850     HRESULT onstop([retval, out] VARIANT *p);
7851
7852     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
7853     HRESULT createDocumentFragment([retval, out] IHTMLDocument2 **pNewDoc);
7854
7855     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
7856     HRESULT parentDocument([retval, out] IHTMLDocument2 **p);
7857
7858     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
7859     HRESULT enableDownload([in] VARIANT_BOOL v);
7860
7861     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
7862     HRESULT enableDownload([retval, out] VARIANT_BOOL *p);
7863
7864     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
7865     HRESULT baseUrl([in] BSTR v);
7866
7867     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
7868     HRESULT baseUrl([retval, out] BSTR *p);
7869
7870     [propget, id(DISPID_IHTMLDOCUMENT3_CHILDNODES)]
7871     HRESULT childNodes([retval, out] IDispatch **p);
7872
7873     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
7874     HRESULT inheritStyleSheets([in] VARIANT_BOOL v);
7875
7876     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
7877     HRESULT inheritStyleSheets([retval, out] VARIANT_BOOL *p);
7878
7879     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
7880     HRESULT onbeforeeditfocus([in] VARIANT v);
7881
7882     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
7883     HRESULT onbeforeeditfocus([retval, out] VARIANT *p);
7884
7885     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
7886     HRESULT getElementsByName(
7887         [in] BSTR v,
7888         [retval, out] IHTMLElementCollection **pelColl);
7889
7890     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
7891     HRESULT getElementById(
7892         [in] BSTR v,
7893         [retval, out] IHTMLElement **pel);
7894
7895     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
7896     HRESULT getElementsByTagName(
7897         [in] BSTR v,
7898         [retval, out] IHTMLElementCollection **pelColl);
7899 }
7900
7901 /*****************************************************************************
7902  *    IHTMLDocument4 interface
7903  */
7904 [
7905     odl,
7906     oleautomation,
7907     dual,
7908     uuid(3050f69a-98b5-11cf-bb82-00aa00bdce0b)
7909 ]
7910 interface IHTMLDocument4 : IDispatch
7911 {
7912     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
7913     HRESULT focus();
7914
7915     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
7916     HRESULT hasFocus([retval, out] VARIANT_BOOL *pfFocus);
7917
7918     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
7919     HRESULT onselectionchange([in] VARIANT v);
7920
7921     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
7922     HRESULT onselectionchange([retval, out] VARIANT *p);
7923
7924     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
7925     HRESULT namespaces([retval, out] IDispatch **p);
7926
7927     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
7928     HRESULT createDocumentFromUrl(
7929         [in] BSTR bstrUrl,
7930         [in] BSTR bstrOptions,
7931         [retval, out] IHTMLDocument2 **newDoc);
7932
7933     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
7934     HRESULT media([in] BSTR v);
7935
7936     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
7937     HRESULT media([retval, out] BSTR *p);
7938
7939     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
7940     HRESULT createEventObject(
7941         [optional, in] VARIANT *pvarEventObject,
7942         [retval, out] IHTMLEventObj **ppEventObj);
7943
7944     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
7945     HRESULT fireEvent(
7946         [in] BSTR bstrEventName,
7947         [optional, in] VARIANT *pvarEventObject,
7948         [retval, out] VARIANT_BOOL *pfCancelled);
7949
7950     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
7951     HRESULT createRenderStyle(
7952         [in] BSTR v,
7953         [retval, out] IHTMLRenderStyle **ppIHTMLRenderStyle);
7954
7955     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
7956     HRESULT oncontrolselect([in] VARIANT v);
7957
7958     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
7959     HRESULT oncontrolselect([retval, out] VARIANT *p);
7960
7961     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
7962     HRESULT URLUnencoded([retval, out] BSTR *p);
7963 }
7964
7965 /*****************************************************************************
7966  *    IHTMLDocument5 interface
7967  */
7968 [
7969     odl,
7970     oleautomation,
7971     dual,
7972     uuid(3050f80c-98b5-11cf-bb82-00aa00bdce0b)
7973 ]
7974 interface IHTMLDocument5 : IDispatch
7975 {
7976     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
7977     HRESULT onmousewheel([in] VARIANT v);
7978
7979     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
7980     HRESULT onmousewheel([retval, out] VARIANT *p);
7981
7982     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
7983     HRESULT doctype([retval, out] IHTMLDOMNode **p);
7984
7985     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
7986     HRESULT implementation([retval, out] IHTMLDOMImplementation **p);
7987
7988     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
7989     HRESULT createAttribute(
7990         [in] BSTR bstrattrName,
7991         [retval, out] IHTMLDOMAttribute **ppattribute);
7992
7993     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
7994     HRESULT createComment(
7995         [in] BSTR bstrdata,
7996         [retval, out] IHTMLDOMNode **ppRetNode);
7997
7998     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
7999     HRESULT onfocusin([in] VARIANT v);
8000
8001     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
8002     HRESULT onfocusin([retval, out] VARIANT *p);
8003
8004     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
8005     HRESULT onfocusout([in] VARIANT v);
8006
8007     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
8008     HRESULT onfocusout([retval, out] VARIANT *p);
8009
8010     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
8011     HRESULT onactivate([in] VARIANT v);
8012
8013     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
8014     HRESULT onactivate([retval, out] VARIANT *p);
8015
8016     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
8017     HRESULT ondeactivate([in] VARIANT v);
8018
8019     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
8020     HRESULT ondeactivate([retval, out] VARIANT *p);
8021
8022     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
8023     HRESULT onbeforeactivate([in] VARIANT v);
8024
8025     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
8026     HRESULT onbeforeactivate([retval, out] VARIANT *p);
8027
8028     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
8029     HRESULT onbeforedeactivate([in] VARIANT v);
8030
8031     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
8032     HRESULT onbeforedeactivate([retval, out] VARIANT *p);
8033
8034     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
8035     HRESULT compatMode([retval, out] BSTR *p);
8036 }
8037
8038 /*****************************************************************************
8039  *    DispHTMLDocument dispinterface
8040  */
8041 [
8042     hidden,
8043     uuid(3050f55f-98b5-11cf-bb82-00aa00bdce0b)
8044 ]
8045 dispinterface DispHTMLDocument
8046 {
8047 properties:
8048 methods:
8049     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT), hidden, nonbrowsable]
8050     IDispatch *Script();
8051
8052     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
8053     IHTMLElementCollection *all();
8054
8055     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
8056     IHTMLElement *body();
8057
8058     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
8059     IHTMLElement *activeElement();
8060
8061     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
8062     IHTMLElementCollection *images();
8063
8064     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
8065     IHTMLElementCollection *applets();
8066
8067     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
8068     IHTMLElementCollection *links();
8069
8070     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
8071     IHTMLElementCollection *forms();
8072
8073     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
8074     IHTMLElementCollection *anchors();
8075
8076     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
8077     void title(BSTR v);
8078
8079     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
8080     BSTR title();
8081
8082     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
8083     IHTMLElementCollection *scripts();
8084
8085     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
8086     void designMode(BSTR v);
8087
8088     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE), hidden]
8089     BSTR designMode();
8090
8091     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
8092     IHTMLSelectionObject *selection();
8093
8094     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE), bindable]
8095     BSTR readyState();
8096
8097     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
8098     IHTMLFramesCollection2 *frames();
8099
8100     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
8101     IHTMLElementCollection *embeds();
8102
8103     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
8104     IHTMLElementCollection *plugins();
8105
8106     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
8107     void alinkColor(VARIANT v);
8108
8109     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
8110     VARIANT alinkColor();
8111
8112     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
8113     void bgColor(VARIANT v);
8114
8115     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
8116     VARIANT bgColor();
8117
8118     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
8119     void fgColor(VARIANT v);
8120
8121     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
8122     VARIANT fgColor();
8123
8124     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
8125     void linkColor(VARIANT v);
8126
8127     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
8128     VARIANT linkColor();
8129
8130     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
8131     void vlinkColor(VARIANT v);
8132
8133     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
8134     VARIANT vlinkColor();
8135
8136     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
8137     BSTR referrer();
8138
8139     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
8140     IHTMLLocation *location();
8141
8142     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
8143     BSTR lastModified();
8144
8145     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
8146     void URL(BSTR v);
8147
8148     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
8149     BSTR URL();
8150
8151     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
8152     void domain(BSTR v);
8153
8154     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
8155     BSTR domain();
8156
8157     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
8158     void cookie(BSTR v);
8159
8160     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
8161     BSTR cookie();
8162
8163     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
8164     void expando(VARIANT_BOOL v);
8165
8166     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO), bindable, hidden]
8167     VARIANT_BOOL expando();
8168
8169     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
8170     void charset(BSTR v);
8171
8172     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET), hidden]
8173     BSTR charset();
8174
8175     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
8176     void defaultCharset(BSTR v);
8177
8178     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
8179     BSTR defaultCharset();
8180
8181     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
8182     BSTR mimeType();
8183
8184     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
8185     BSTR fileSize();
8186
8187     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
8188     BSTR fileCreatedDate();
8189
8190     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
8191     BSTR fileModifiedDate();
8192
8193     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
8194     BSTR fileUpdatedDate();
8195
8196     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
8197     BSTR security();
8198
8199     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
8200     BSTR protocol();
8201
8202     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
8203     BSTR nameProp();
8204
8205     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
8206     void write([in] SAFEARRAY(VARIANT) psarray);
8207
8208     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
8209     void writeln([in] SAFEARRAY(VARIANT) psarray);
8210
8211     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
8212     IDispatch *open(
8213         [defaultvalue("text/html"), in] BSTR url,
8214         [optional, in] VARIANT name,
8215         [optional, in] VARIANT features,
8216         [optional, in] VARIANT replace);
8217
8218     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
8219     void close();
8220
8221     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
8222     void clear();
8223
8224     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
8225     VARIANT_BOOL queryCommandSupported([in] BSTR cmdID);
8226
8227     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
8228     VARIANT_BOOL queryCommandEnabled([in] BSTR cmdID);
8229
8230     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
8231     VARIANT_BOOL queryCommandState([in] BSTR cmdID);
8232
8233     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
8234     VARIANT_BOOL queryCommandIndeterm([in] BSTR cmdID);
8235
8236     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
8237     BSTR queryCommandText([in] BSTR cmdID);
8238
8239     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
8240     VARIANT queryCommandValue([in] BSTR cmdID);
8241
8242     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
8243     VARIANT_BOOL execCommand(
8244         [in] BSTR cmdID,
8245         [defaultvalue(0), in] VARIANT_BOOL showUI,
8246         [optional, in] VARIANT value);
8247
8248     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
8249     VARIANT_BOOL execCommandShowHelp([in] BSTR cmdID);
8250
8251     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
8252     IHTMLElement *createElement([in] BSTR eTag);
8253
8254     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
8255     void onhelp(VARIANT v);
8256
8257     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP), displaybind, bindable]
8258     VARIANT onhelp();
8259
8260     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
8261     void onclick(VARIANT v);
8262
8263     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK), displaybind, bindable]
8264     VARIANT onclick();
8265
8266     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
8267     void ondblclick(VARIANT v);
8268
8269     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK), displaybind, bindable]
8270     VARIANT ondblclick();
8271
8272     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
8273     void onkeyup(VARIANT v);
8274
8275     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP), displaybind, bindable]
8276     VARIANT onkeyup();
8277
8278     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
8279     void onkeydown(VARIANT v);
8280
8281     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN), displaybind, bindable]
8282     VARIANT onkeydown();
8283
8284     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
8285     void onkeypress(VARIANT v);
8286
8287     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS), displaybind, bindable]
8288     VARIANT onkeypress();
8289
8290     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
8291     void onmouseup(VARIANT v);
8292
8293     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP), displaybind, bindable]
8294     VARIANT onmouseup();
8295
8296     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
8297     void onmousedown(VARIANT v);
8298
8299     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN), displaybind, bindable]
8300     VARIANT onmousedown();
8301
8302     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
8303     void onmousemove(VARIANT v);
8304
8305     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE), displaybind, bindable]
8306     VARIANT onmousemove();
8307
8308     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
8309     void onmouseout(VARIANT v);
8310
8311     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT), displaybind, bindable]
8312     VARIANT onmouseout();
8313
8314     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
8315     void onmouseover(VARIANT v);
8316
8317     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER), displaybind, bindable]
8318     VARIANT onmouseover();
8319
8320     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8321     void onreadystatechange(VARIANT v);
8322
8323     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE), displaybind, bindable]
8324     VARIANT onreadystatechange();
8325
8326     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
8327     void onafterupdate(VARIANT v);
8328
8329     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE), displaybind, bindable]
8330     VARIANT onafterupdate();
8331
8332     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
8333     void onrowexit(VARIANT v);
8334
8335     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT), displaybind, bindable]
8336     VARIANT onrowexit();
8337
8338     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
8339     void onrowenter(VARIANT v);
8340
8341     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER), displaybind, bindable]
8342     VARIANT onrowenter();
8343
8344     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
8345     void ondragstart(VARIANT v);
8346
8347     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART), displaybind, bindable]
8348     VARIANT ondragstart();
8349
8350     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
8351     void onselectstart(VARIANT v);
8352
8353     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART), displaybind, bindable]
8354     VARIANT onselectstart();
8355
8356     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
8357     IHTMLElement *elementFromPoint(
8358         [in] long x,
8359         [in] long y);
8360
8361     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
8362     IHTMLWindow2 *parentWindow();
8363
8364     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
8365     IHTMLStyleSheetsCollection *styleSheets();
8366
8367     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
8368     void onbeforeupdate(VARIANT v);
8369
8370     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE), displaybind, bindable]
8371     VARIANT onbeforeupdate();
8372
8373     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
8374     void onerrorupdate(VARIANT v);
8375
8376     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE), displaybind, bindable]
8377     VARIANT onerrorupdate();
8378
8379     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
8380     BSTR toString();
8381
8382     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
8383     IHTMLStyleSheet *createStyleSheet(
8384         [defaultvalue(""), in] BSTR bstrHref,
8385         [defaultvalue(-1), in] long lIndex);
8386
8387     [id(DISPID_IHTMLDOCUMENT3_RELEASECAPTURE)]
8388     void releaseCapture();
8389
8390     [id(DISPID_IHTMLDOCUMENT3_RECALC)]
8391     void recalc([defaultvalue(0), in] VARIANT_BOOL fForce);
8392
8393     [id(DISPID_IHTMLDOCUMENT3_CREATETEXTNODE)]
8394     IHTMLDOMNode *createTextNode([in] BSTR text);
8395
8396     [propget, id(DISPID_IHTMLDOCUMENT3_DOCUMENTELEMENT)]
8397     IHTMLElement *documentElement();
8398
8399     [propget, id(DISPID_IHTMLDOCUMENT3_UNIQUEID), hidden]
8400     BSTR uniqueID();
8401
8402     [id(DISPID_IHTMLDOCUMENT3_ATTACHEVENT)]
8403     VARIANT_BOOL attachEvent(
8404         [in] BSTR event,
8405         [in] IDispatch *pDisp);
8406
8407     [id(DISPID_IHTMLDOCUMENT3_DETACHEVENT)]
8408     void detachEvent(
8409         [in] BSTR event,
8410         [in] IDispatch *pDisp);
8411
8412     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
8413     void onrowsdelete(VARIANT v);
8414
8415     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSDELETE), displaybind, bindable]
8416     VARIANT onrowsdelete();
8417
8418     [propput, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
8419     void onrowsinserted(VARIANT v);
8420
8421     [propget, id(DISPID_IHTMLDOCUMENT3_ONROWSINSERTED), displaybind, bindable]
8422     VARIANT onrowsinserted();
8423
8424     [propput, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
8425     void oncellchange(VARIANT v);
8426
8427     [propget, id(DISPID_IHTMLDOCUMENT3_ONCELLCHANGE), displaybind, bindable]
8428     VARIANT oncellchange();
8429
8430     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
8431     void ondatasetchanged(VARIANT v);
8432
8433     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCHANGED), displaybind, bindable]
8434     VARIANT ondatasetchanged();
8435
8436     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
8437     void ondataavailable(VARIANT v);
8438
8439     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATAAVAILABLE), displaybind, bindable]
8440     VARIANT ondataavailable();
8441
8442     [propput, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
8443     void ondatasetcomplete(VARIANT v);
8444
8445     [propget, id(DISPID_IHTMLDOCUMENT3_ONDATASETCOMPLETE), displaybind, bindable]
8446     VARIANT ondatasetcomplete();
8447
8448     [propput, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
8449     void onpropertychange(VARIANT v);
8450
8451     [propget, id(DISPID_IHTMLDOCUMENT3_ONPROPERTYCHANGE), displaybind, bindable]
8452     VARIANT onpropertychange();
8453
8454     [propput, id(DISPID_IHTMLDOCUMENT3_DIR)]
8455     void dir(BSTR v);
8456
8457     [propget, id(DISPID_IHTMLDOCUMENT3_DIR)]
8458     BSTR dir();
8459
8460     [propput, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
8461     void oncontextmenu(VARIANT v);
8462
8463     [propget, id(DISPID_IHTMLDOCUMENT3_ONCONTEXTMENU), displaybind, bindable]
8464     VARIANT oncontextmenu();
8465
8466     [propput, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
8467     void onstop(VARIANT v);
8468
8469     [propget, id(DISPID_IHTMLDOCUMENT3_ONSTOP), displaybind, bindable]
8470     VARIANT onstop();
8471
8472     [id(DISPID_IHTMLDOCUMENT3_CREATEDOCUMENTFRAGMENT)]
8473     IHTMLDocument2 *createDocumentFragment();
8474
8475     [propget, id(DISPID_IHTMLDOCUMENT3_PARENTDOCUMENT), hidden, restricted]
8476     IHTMLDocument2 *parentDocument();
8477
8478     [propput, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
8479     void enableDownload(VARIANT_BOOL v);
8480
8481     [propget, id(DISPID_IHTMLDOCUMENT3_ENABLEDOWNLOAD), hidden, restricted]
8482     VARIANT_BOOL enableDownload();
8483
8484     [propput, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
8485     void baseUrl(BSTR v);
8486
8487     [propget, id(DISPID_IHTMLDOCUMENT3_BASEURL), hidden, restricted]
8488     BSTR baseUrl();
8489
8490     [propput, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
8491     void inheritStyleSheets(VARIANT_BOOL v);
8492
8493     [propget, id(DISPID_IHTMLDOCUMENT3_INHERITSTYLESHEETS), hidden, restricted]
8494     VARIANT_BOOL inheritStyleSheets();
8495
8496     [propput, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
8497     void onbeforeeditfocus(VARIANT v);
8498
8499     [propget, id(DISPID_IHTMLDOCUMENT3_ONBEFOREEDITFOCUS), displaybind, bindable]
8500     VARIANT onbeforeeditfocus();
8501
8502     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYNAME)]
8503     IHTMLElementCollection *getElementsByName([in] BSTR v);
8504
8505     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTBYID)]
8506     IHTMLElement *getElementById([in] BSTR v);
8507
8508     [id(DISPID_IHTMLDOCUMENT3_GETELEMENTSBYTAGNAME)]
8509     IHTMLElementCollection *getElementsByTagName([in] BSTR v);
8510
8511     [id(DISPID_IHTMLDOCUMENT4_FOCUS)]
8512     void focus();
8513
8514     [id(DISPID_IHTMLDOCUMENT4_HASFOCUS)]
8515     VARIANT_BOOL hasFocus();
8516
8517     [propput, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
8518     void onselectionchange(VARIANT v);
8519
8520     [propget, id(DISPID_IHTMLDOCUMENT4_ONSELECTIONCHANGE), displaybind, bindable]
8521     VARIANT onselectionchange();
8522
8523     [propget, id(DISPID_IHTMLDOCUMENT4_NAMESPACES)]
8524     IDispatch *namespaces();
8525
8526     [id(DISPID_IHTMLDOCUMENT4_CREATEDOCUMENTFROMURL)]
8527     IHTMLDocument2 *createDocumentFromUrl(
8528         [in] BSTR bstrUrl,
8529         [in] BSTR bstrOptions);
8530
8531     [propput, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
8532     void media(BSTR v);
8533
8534     [propget, id(DISPID_IHTMLDOCUMENT4_MEDIA)]
8535     BSTR media();
8536
8537     [id(DISPID_IHTMLDOCUMENT4_CREATEEVENTOBJECT)]
8538     IHTMLEventObj *createEventObject([optional, in] VARIANT *pvarEventObject);
8539
8540     [id(DISPID_IHTMLDOCUMENT4_FIREEVENT)]
8541     VARIANT_BOOL fireEvent(
8542         [in] BSTR bstrEventName,
8543         [optional, in] VARIANT *pvarEventObject);
8544
8545     [id(DISPID_IHTMLDOCUMENT4_CREATERENDERSTYLE)]
8546     IHTMLRenderStyle *createRenderStyle([in] BSTR v);
8547
8548     [propput, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
8549     void oncontrolselect(VARIANT v);
8550
8551     [propget, id(DISPID_IHTMLDOCUMENT4_ONCONTROLSELECT), displaybind, bindable]
8552     VARIANT oncontrolselect();
8553
8554     [propget, id(DISPID_IHTMLDOCUMENT4_URLUNENCODED)]
8555     BSTR URLUnencoded();
8556
8557     [propput, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
8558     void onmousewheel(VARIANT v);
8559
8560     [propget, id(DISPID_IHTMLDOCUMENT5_ONMOUSEWHEEL), displaybind, bindable]
8561     VARIANT onmousewheel();
8562
8563     [propget, id(DISPID_IHTMLDOCUMENT5_DOCTYPE)]
8564     IHTMLDOMNode *doctype();
8565
8566     [propget, id(DISPID_IHTMLDOCUMENT5_IMPLEMENTATION)]
8567     IHTMLDOMImplementation *implementation();
8568
8569     [id(DISPID_IHTMLDOCUMENT5_CREATEATTRIBUTE)]
8570     IHTMLDOMAttribute *createAttribute([in] BSTR bstrattrName);
8571
8572     [id(DISPID_IHTMLDOCUMENT5_CREATECOMMENT)]
8573     IHTMLDOMNode *createComment([in] BSTR bstrdata);
8574
8575     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
8576     void onfocusin(VARIANT v);
8577
8578     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSIN), displaybind, bindable]
8579     VARIANT onfocusin();
8580
8581     [propput, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
8582     void onfocusout(VARIANT v);
8583
8584     [propget, id(DISPID_IHTMLDOCUMENT5_ONFOCUSOUT), displaybind, bindable]
8585     VARIANT onfocusout();
8586
8587     [propput, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
8588     void onactivate(VARIANT v);
8589
8590     [propget, id(DISPID_IHTMLDOCUMENT5_ONACTIVATE), displaybind, bindable]
8591     VARIANT onactivate();
8592
8593     [propput, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
8594     void ondeactivate(VARIANT v);
8595
8596     [propget, id(DISPID_IHTMLDOCUMENT5_ONDEACTIVATE), displaybind, bindable]
8597     VARIANT ondeactivate();
8598
8599     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
8600     void onbeforeactivate(VARIANT v);
8601
8602     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREACTIVATE), displaybind, bindable]
8603     VARIANT onbeforeactivate();
8604
8605     [propput, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
8606     void onbeforedeactivate(VARIANT v);
8607
8608     [propget, id(DISPID_IHTMLDOCUMENT5_ONBEFOREDEACTIVATE), displaybind, bindable]
8609     VARIANT onbeforedeactivate();
8610
8611     [propget, id(DISPID_IHTMLDOCUMENT5_COMPATMODE)]
8612     BSTR compatMode();
8613
8614     [propget, id(DISPID_IHTMLDOMNODE_NODETYPE)]
8615     long nodeType();
8616
8617     [propget, id(DISPID_IHTMLDOMNODE_PARENTNODE)]
8618     IHTMLDOMNode *parentNode();
8619
8620     [id(DISPID_IHTMLDOMNODE_HASCHILDNODES)]
8621     VARIANT_BOOL hasChildNodes();
8622
8623     [propget, id(DISPID_IHTMLDOMNODE_CHILDNODES)]
8624     IDispatch *childNodes();
8625
8626     [propget, id(DISPID_IHTMLDOMNODE_ATTRIBUTES)]
8627     IDispatch *attributes();
8628
8629     [id(DISPID_IHTMLDOMNODE_INSERTBEFORE)]
8630     IHTMLDOMNode *insertBefore(
8631         [in] IHTMLDOMNode *newChild,
8632         [optional, in] VARIANT refChild);
8633
8634     [id(DISPID_IHTMLDOMNODE_REMOVECHILD)]
8635     IHTMLDOMNode *removeChild([in] IHTMLDOMNode *oldChild);
8636
8637     [id(DISPID_IHTMLDOMNODE_REPLACECHILD)]
8638     IHTMLDOMNode *replaceChild(
8639         [in] IHTMLDOMNode *newChild,
8640         [in] IHTMLDOMNode *oldChild);
8641
8642     [id(DISPID_IHTMLDOMNODE_CLONENODE)]
8643     IHTMLDOMNode *cloneNode([in] VARIANT_BOOL fDeep);
8644
8645     [id(DISPID_IHTMLDOMNODE_REMOVENODE)]
8646     IHTMLDOMNode *removeNode([defaultvalue(0), in] VARIANT_BOOL fDeep);
8647
8648     [id(DISPID_IHTMLDOMNODE_SWAPNODE)]
8649     IHTMLDOMNode *swapNode([in] IHTMLDOMNode* otherNode);
8650
8651     [id(DISPID_IHTMLDOMNODE_REPLACENODE)]
8652     IHTMLDOMNode *replaceNode([in] IHTMLDOMNode *replacement);
8653
8654     [id(DISPID_IHTMLDOMNODE_APPENDCHILD)]
8655     IHTMLDOMNode *appendChild([in] IHTMLDOMNode *newChild);
8656
8657     [propget, id(DISPID_IHTMLDOMNODE_NODENAME)]
8658     BSTR nodeName();
8659
8660     [propput, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8661     void nodeValue(VARIANT v);
8662
8663     [propget, id(DISPID_IHTMLDOMNODE_NODEVALUE)]
8664     VARIANT nodeValue();
8665
8666     [propget, id(DISPID_IHTMLDOMNODE_FIRSTCHILD)]
8667     IHTMLDOMNode *firstChild();
8668
8669     [propget, id(DISPID_IHTMLDOMNODE_LASTCHILD)]
8670     IHTMLDOMNode *lastChild();
8671
8672     [propget, id(DISPID_IHTMLDOMNODE_PREVIOUSSIBLING)]
8673     IHTMLDOMNode *previousSibling();
8674
8675     [propget, id(DISPID_IHTMLDOMNODE_NEXTSIBLING)]
8676     IHTMLDOMNode *nextSibling();
8677
8678     [propget, id(DISPID_IHTMLDOMNODE2_OWNERDOCUMENT)]
8679     IDispatch *ownerDocument();
8680 }
8681
8682 /*****************************************************************************
8683  *    HTMLDocument coclass
8684  */
8685 [
8686     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
8687 ]
8688 coclass HTMLDocument
8689 {
8690     [default]         dispinterface DispHTMLDocument;
8691     [source, default] dispinterface HTMLDocumentEvents;
8692     [source]          dispinterface HTMLDocumentEvents2;
8693                       interface IHTMLDocument2;
8694                       interface IHTMLDocument3;
8695                       interface IHTMLDocument4;
8696                       interface IHTMLDocument5;
8697                       interface IHTMLDOMNode;
8698                       interface IHTMLDOMNode2;
8699 }
8700
8701 /*****************************************************************************
8702  *    HTMLTableEvents dispinterface
8703  */
8704 [
8705     hidden,
8706     uuid(3050f407-98b5-11cf-bb82-00aa00bdce0b)
8707 ]
8708 dispinterface HTMLTableEvents
8709 {
8710 properties:
8711 methods:
8712     [id(DISPID_HTMLELEMENTEVENTS_ONHELP)]
8713     VARIANT_BOOL onhelp();
8714
8715     [id(DISPID_HTMLELEMENTEVENTS_ONCLICK)]
8716     VARIANT_BOOL onclick();
8717
8718     [id(DISPID_HTMLELEMENTEVENTS_ONDBLCLICK)]
8719     VARIANT_BOOL ondblclick();
8720
8721     [id(DISPID_HTMLELEMENTEVENTS_ONKEYPRESS)]
8722     VARIANT_BOOL onkeypress();
8723
8724     [id(DISPID_HTMLELEMENTEVENTS_ONKEYDOWN)]
8725     void onkeydown();
8726
8727     [id(DISPID_HTMLELEMENTEVENTS_ONKEYUP)]
8728     void onkeyup();
8729
8730     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOUT)]
8731     void onmouseout();
8732
8733     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEOVER)]
8734     void onmouseover();
8735
8736     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEMOVE)]
8737     void onmousemove();
8738
8739     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEDOWN)]
8740     void onmousedown();
8741
8742     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEUP)]
8743     void onmouseup();
8744
8745     [id(DISPID_HTMLELEMENTEVENTS_ONSELECTSTART)]
8746     VARIANT_BOOL onselectstart();
8747
8748     [id(DISPID_HTMLELEMENTEVENTS_ONFILTERCHANGE)]
8749     void onfilterchange();
8750
8751     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGSTART)]
8752     VARIANT_BOOL ondragstart();
8753
8754     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREUPDATE)]
8755     VARIANT_BOOL onbeforeupdate();
8756
8757     [id(DISPID_HTMLELEMENTEVENTS_ONAFTERUPDATE)]
8758     void onafterupdate();
8759
8760     [id(DISPID_HTMLELEMENTEVENTS_ONERRORUPDATE)]
8761     VARIANT_BOOL onerrorupdate();
8762
8763     [id(DISPID_HTMLELEMENTEVENTS_ONROWEXIT)]
8764     VARIANT_BOOL onrowexit();
8765
8766     [id(DISPID_HTMLELEMENTEVENTS_ONROWENTER)]
8767     void onrowenter();
8768
8769     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCHANGED)]
8770     void ondatasetchanged();
8771
8772     [id(DISPID_HTMLELEMENTEVENTS_ONDATAAVAILABLE)]
8773     void ondataavailable();
8774
8775     [id(DISPID_HTMLELEMENTEVENTS_ONDATASETCOMPLETE)]
8776     void ondatasetcomplete();
8777
8778     [id(DISPID_HTMLELEMENTEVENTS_ONLOSECAPTURE)]
8779     void onlosecapture();
8780
8781     [id(DISPID_HTMLELEMENTEVENTS_ONPROPERTYCHANGE)]
8782     void onpropertychange();
8783
8784     [id(DISPID_HTMLELEMENTEVENTS_ONSCROLL)]
8785     void onscroll();
8786
8787     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUS)]
8788     void onfocus();
8789
8790     [id(DISPID_HTMLELEMENTEVENTS_ONBLUR)]
8791     void onblur();
8792
8793     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZE)]
8794     void onresize();
8795
8796     [id(DISPID_HTMLELEMENTEVENTS_ONDRAG)]
8797     VARIANT_BOOL ondrag();
8798
8799     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGEND)]
8800     void ondragend();
8801
8802     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGENTER)]
8803     VARIANT_BOOL ondragenter();
8804
8805     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGOVER)]
8806     VARIANT_BOOL ondragover();
8807
8808     [id(DISPID_HTMLELEMENTEVENTS_ONDRAGLEAVE)]
8809     void ondragleave();
8810
8811     [id(DISPID_HTMLELEMENTEVENTS_ONDROP)]
8812     VARIANT_BOOL ondrop();
8813
8814     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECUT)]
8815     VARIANT_BOOL onbeforecut();
8816
8817     [id(DISPID_HTMLELEMENTEVENTS_ONCUT)]
8818     VARIANT_BOOL oncut();
8819
8820     [id(DISPID_HTMLELEMENTEVENTS_ONBEFORECOPY)]
8821     VARIANT_BOOL onbeforecopy();
8822
8823     [id(DISPID_HTMLELEMENTEVENTS_ONCOPY)]
8824     VARIANT_BOOL oncopy();
8825
8826     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREPASTE)]
8827     VARIANT_BOOL onbeforepaste();
8828
8829     [id(DISPID_HTMLELEMENTEVENTS_ONPASTE)]
8830     VARIANT_BOOL onpaste();
8831
8832     [id(DISPID_HTMLELEMENTEVENTS_ONCONTEXTMENU)]
8833     VARIANT_BOOL oncontextmenu();
8834
8835     [id(DISPID_HTMLELEMENTEVENTS_ONROWSDELETE)]
8836     void onrowsdelete();
8837
8838     [id(DISPID_HTMLELEMENTEVENTS_ONROWSINSERTED)]
8839     void onrowsinserted();
8840
8841     [id(DISPID_HTMLELEMENTEVENTS_ONCELLCHANGE)]
8842     void oncellchange();
8843
8844     [id(DISPID_HTMLELEMENTEVENTS_ONREADYSTATECHANGE)]
8845     void onreadystatechange();
8846
8847     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREEDITFOCUS)]
8848     void onbeforeeditfocus();
8849
8850     [id(DISPID_HTMLELEMENTEVENTS_ONLAYOUTCOMPLETE)]
8851     void onlayoutcomplete();
8852
8853     [id(DISPID_HTMLELEMENTEVENTS_ONPAGE)]
8854     void onpage();
8855
8856     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREDEACTIVATE)]
8857     VARIANT_BOOL onbeforedeactivate();
8858
8859     [id(DISPID_HTMLELEMENTEVENTS_ONBEFOREACTIVATE)]
8860     VARIANT_BOOL onbeforeactivate();
8861
8862     [id(DISPID_HTMLELEMENTEVENTS_ONMOVE)]
8863     void onmove();
8864
8865     [id(DISPID_HTMLELEMENTEVENTS_ONCONTROLSELECT)]
8866     VARIANT_BOOL oncontrolselect();
8867
8868     [id(DISPID_HTMLELEMENTEVENTS_ONMOVESTART)]
8869     VARIANT_BOOL onmovestart();
8870
8871     [id(DISPID_HTMLELEMENTEVENTS_ONMOVEEND)]
8872     void onmoveend();
8873
8874     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZESTART)]
8875     VARIANT_BOOL onresizestart();
8876
8877     [id(DISPID_HTMLELEMENTEVENTS_ONRESIZEEND)]
8878     void onresizeend();
8879
8880     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEENTER)]
8881     void onmouseenter();
8882
8883     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSELEAVE)]
8884     void onmouseleave();
8885
8886     [id(DISPID_HTMLELEMENTEVENTS_ONMOUSEWHEEL)]
8887     VARIANT_BOOL onmousewheel();
8888
8889     [id(DISPID_HTMLELEMENTEVENTS_ONACTIVATE)]
8890     void onactivate();
8891
8892     [id(DISPID_HTMLELEMENTEVENTS_ONDEACTIVATE)]
8893     void ondeactivate();
8894
8895     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSIN)]
8896     void onfocusin();
8897
8898     [id(DISPID_HTMLELEMENTEVENTS_ONFOCUSOUT)]
8899     void onfocusout();
8900 }
8901
8902 /*****************************************************************************
8903  *    IHTMLTableCaption interface
8904  */
8905 [
8906     odl,
8907     oleautomation,
8908     dual,
8909     uuid(3050f2eb-98b5-11cf-bb82-00aa00bdce0b)
8910 ]
8911 interface IHTMLTableCaption : IDispatch
8912 {
8913     [propput, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
8914     HRESULT align([in] BSTR v);
8915
8916     [propget, id(DISPID_IHTMLTABLECAPTION_ALIGN)]
8917     HRESULT align([retval, out] BSTR *p);
8918
8919     [propput, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
8920     HRESULT vAlign([in] BSTR v);
8921
8922     [propget, id(DISPID_IHTMLTABLECAPTION_VALIGN)]
8923     HRESULT vAlign([retval, out] BSTR *p);
8924 }
8925
8926 interface IHTMLTableSection;
8927
8928 /*****************************************************************************
8929  *    IHTMLTable interface
8930  */
8931 [
8932     odl,
8933     oleautomation,
8934     dual,
8935     uuid(3050f21e-98b5-11cf-bb82-00aa00bdce0b)
8936 ]
8937 interface IHTMLTable : IDispatch
8938 {
8939     [propput, id(DISPID_IHTMLTABLE_COLS)]
8940     HRESULT cols([in] long v);
8941
8942     [propget, id(DISPID_IHTMLTABLE_COLS)]
8943     HRESULT cols([retval, out] long *p);
8944
8945     [propput, id(DISPID_IHTMLTABLE_BORDER)]
8946     HRESULT border([in] VARIANT v);
8947
8948     [propget, id(DISPID_IHTMLTABLE_BORDER)]
8949     HRESULT border([retval, out] VARIANT *p);
8950
8951     [propput, id(DISPID_IHTMLTABLE_FRAME)]
8952     HRESULT frame([in] BSTR v);
8953
8954     [propget, id(DISPID_IHTMLTABLE_FRAME)]
8955     HRESULT frame([retval, out] BSTR *p);
8956
8957     [propput, id(DISPID_IHTMLTABLE_RULES)]
8958     HRESULT rules([in] BSTR v);
8959
8960     [propget, id(DISPID_IHTMLTABLE_RULES)]
8961     HRESULT rules([retval, out] BSTR *p);
8962
8963     [propput, id(DISPID_IHTMLTABLE_CELLSPACING)]
8964     HRESULT cellSpacing([in] VARIANT v);
8965
8966     [propget, id(DISPID_IHTMLTABLE_CELLSPACING)]
8967     HRESULT cellSpacing([retval, out] VARIANT *p);
8968
8969     [propput, id(DISPID_IHTMLTABLE_CELLPADDING)]
8970     HRESULT cellPadding([in] VARIANT v);
8971
8972     [propget, id(DISPID_IHTMLTABLE_CELLPADDING)]
8973     HRESULT cellPadding([retval, out] VARIANT *p);
8974
8975     [propput, id(DISPID_IHTMLTABLE_BACKGROUND)]
8976     HRESULT background([in] BSTR v);
8977
8978     [propget, id(DISPID_IHTMLTABLE_BACKGROUND)]
8979     HRESULT background([retval, out] BSTR *p);
8980
8981     [propput, id(DISPID_IHTMLTABLE_BGCOLOR)]
8982     HRESULT bgColor([in] VARIANT v);
8983
8984     [propget, id(DISPID_IHTMLTABLE_BGCOLOR)]
8985     HRESULT bgColor([retval, out] VARIANT *p);
8986
8987     [propput, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
8988     HRESULT borderColor([in] VARIANT v);
8989
8990     [propget, id(DISPID_IHTMLTABLE_BORDERCOLOR)]
8991     HRESULT borderColor([retval, out] VARIANT *p);
8992
8993     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
8994     HRESULT borderColorLight([in] VARIANT v);
8995
8996     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORLIGHT)]
8997     HRESULT borderColorLight([retval, out] VARIANT *p);
8998
8999     [propput, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
9000     HRESULT borderColorDark([in] VARIANT v);
9001
9002     [propget, id(DISPID_IHTMLTABLE_BORDERCOLORDARK)]
9003     HRESULT borderColorDark([retval, out] VARIANT *p);
9004
9005     [propput, id(DISPID_IHTMLTABLE_ALIGN)]
9006     HRESULT align([in] BSTR v);
9007
9008     [propget, id(DISPID_IHTMLTABLE_ALIGN)]
9009     HRESULT align([retval, out] BSTR * p);
9010
9011     [id(DISPID_IHTMLTABLE_REFRESH)]
9012     HRESULT refresh();
9013
9014     [propget, id(DISPID_IHTMLTABLE_ROWS)]
9015     HRESULT rows([retval, out] IHTMLElementCollection **p);
9016
9017     [propput, id(DISPID_IHTMLTABLE_WIDTH)]
9018     HRESULT width([in] VARIANT v);
9019
9020     [propget, id(DISPID_IHTMLTABLE_WIDTH)]
9021     HRESULT width([retval, out] VARIANT *p);
9022
9023     [propput, id(DISPID_IHTMLTABLE_HEIGHT)]
9024     HRESULT height([in] VARIANT v);
9025
9026     [propget, id(DISPID_IHTMLTABLE_HEIGHT)]
9027     HRESULT height([retval, out] VARIANT *p);
9028
9029     [propput, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
9030     HRESULT dataPageSize([in] long v);
9031
9032     [propget, id(DISPID_IHTMLTABLE_DATAPAGESIZE)]
9033     HRESULT dataPageSize([retval, out] long *p);
9034
9035     [id(DISPID_IHTMLTABLE_NEXTPAGE)]
9036     HRESULT nextPage();
9037
9038     [id(DISPID_IHTMLTABLE_PREVIOUSPAGE)]
9039     HRESULT previousPage();
9040
9041     [propget, id(DISPID_IHTMLTABLE_THEAD)]
9042     HRESULT tHead([retval, out] IHTMLTableSection **p);
9043
9044     [propget, id(DISPID_IHTMLTABLE_TFOOT)]
9045     HRESULT tFoot([retval, out] IHTMLTableSection **p);
9046
9047     [propget, id(DISPID_IHTMLTABLE_TBODIES)]
9048     HRESULT tBodies([retval, out] IHTMLElementCollection **p);
9049
9050     [propget, id(DISPID_IHTMLTABLE_CAPTION)]
9051     HRESULT caption([retval, out] IHTMLTableCaption **p);
9052
9053     [id(DISPID_IHTMLTABLE_CREATETHEAD)]
9054     HRESULT createTHead([retval, out] IDispatch **head);
9055
9056     [id(DISPID_IHTMLTABLE_DELETETHEAD)]
9057     HRESULT deleteTHead();
9058
9059     [id(DISPID_IHTMLTABLE_CREATETFOOT)]
9060     HRESULT createTFoot([retval, out] IDispatch **foot);
9061
9062     [id(DISPID_IHTMLTABLE_DELETETFOOT)]
9063     HRESULT deleteTFoot();
9064
9065     [id(DISPID_IHTMLTABLE_CREATECAPTION)]
9066     HRESULT createCaption([retval, out] IHTMLTableCaption **caption);
9067
9068     [id(DISPID_IHTMLTABLE_DELETECAPTION)]
9069     HRESULT deleteCaption();
9070
9071     [id(DISPID_IHTMLTABLE_INSERTROW)]
9072     HRESULT insertRow(
9073             [defaultvalue(-1), in] long index,
9074             [retval, out] IDispatch **row);
9075
9076     [id(DISPID_IHTMLTABLE_DELETEROW)]
9077     HRESULT deleteRow([defaultvalue(-1), in] long index);
9078
9079     [propget, id(DISPID_IHTMLTABLE_READYSTATE)]
9080     HRESULT readyState([retval, out] BSTR *p);
9081
9082     [propput, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
9083     HRESULT onreadystatechange([in] VARIANT v);
9084
9085     [propget, id(DISPID_IHTMLTABLE_ONREADYSTATECHANGE), displaybind, bindable]
9086     HRESULT onreadystatechange([retval, out] VARIANT *p);
9087 }
9088
9089 [
9090     odl,
9091     oleautomation,
9092     dual,
9093     uuid(3050f23b-98b5-11cf-bb82-00aa00bdce0b)
9094 ]
9095 interface IHTMLTableSection : IDispatch
9096 {
9097     [propput, id(DISPID_IHTMLTABLESECTION_ALIGN)]
9098     HRESULT align([in] BSTR v);
9099
9100     [propget, id(DISPID_IHTMLTABLESECTION_ALIGN)]
9101     HRESULT align([retval, out] BSTR *p);
9102
9103     [propput, id(DISPID_IHTMLTABLESECTION_VALIGN)]
9104     HRESULT vAlign([in] BSTR v);
9105
9106     [propget, id(DISPID_IHTMLTABLESECTION_VALIGN)]
9107     HRESULT vAlign([retval, out] BSTR *p);
9108
9109     [propput, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
9110     HRESULT bgColor([in] VARIANT v);
9111
9112     [propget, id(DISPID_IHTMLTABLESECTION_BGCOLOR)]
9113     HRESULT bgColor([retval, out] VARIANT *p);
9114
9115     [propget, id(DISPID_IHTMLTABLESECTION_ROWS)]
9116     HRESULT rows([retval, out] IHTMLElementCollection **p);
9117
9118     [id(DISPID_IHTMLTABLESECTION_INSERTROW)]
9119     HRESULT insertRow(
9120             [defaultvalue(-1), in] long index,
9121             [retval, out] IDispatch **row);
9122
9123     [id(DISPID_IHTMLTABLESECTION_DELETEROW)]
9124     HRESULT deleteRow([defaultvalue(-1), in] long index);
9125 }
9126
9127 /*****************************************************************************
9128  *    IHTMLScriptElement interface
9129  */
9130 [
9131     odl,
9132     oleautomation,
9133     dual,
9134     uuid(3050f28b-98b5-11cf-bb82-00aa00bdce0b)
9135 ]
9136 interface IHTMLScriptElement : IDispatch
9137 {
9138     [propput, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
9139     HRESULT src([in] BSTR v);
9140
9141     [propget, id(DISPID_IHTMLSCRIPTELEMENT_SRC), displaybind, bindable]
9142     HRESULT src([retval, out] BSTR *p);
9143
9144     [propput, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
9145     HRESULT htmlFor([in] BSTR v);
9146
9147     [propget, id(DISPID_IHTMLSCRIPTELEMENT_HTMLFOR), displaybind, bindable]
9148     HRESULT htmlFor([retval, out] BSTR *p);
9149
9150     [propput, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
9151     HRESULT event([in] BSTR v);
9152
9153     [propget, id(DISPID_IHTMLSCRIPTELEMENT_EVENT), displaybind, bindable]
9154     HRESULT event([retval, out] BSTR *p);
9155
9156     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
9157     HRESULT text([in] BSTR v);
9158
9159     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TEXT), displaybind, bindable]
9160     HRESULT text([retval, out] BSTR *p);
9161
9162     [propput, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
9163     HRESULT defer([in] VARIANT_BOOL v);
9164
9165     [propget, id(DISPID_IHTMLSCRIPTELEMENT_DEFER), displaybind, bindable]
9166     HRESULT defer([retval, out] VARIANT_BOOL *p);
9167
9168     [propget, id(DISPID_IHTMLSCRIPTELEMENT_READYSTATE)]
9169     HRESULT readyState([retval, out] BSTR *p);
9170
9171     [propput, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
9172     HRESULT onerror([in] VARIANT v);
9173
9174     [propget, id(DISPID_IHTMLSCRIPTELEMENT_ONERROR), displaybind, bindable]
9175     HRESULT onerror([retval, out] VARIANT *p);
9176
9177     [propput, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
9178     HRESULT type([in] BSTR v);
9179
9180     [propget, id(DISPID_IHTMLSCRIPTELEMENT_TYPE), displaybind, bindable]
9181     HRESULT type([retval, out] BSTR *p);
9182 }
9183
9184 /*****************************************************************************
9185  *    IHTMLScriptElement2 interface
9186  */
9187 [
9188     odl,
9189     oleautomation,
9190     dual,
9191     uuid(3050f828-98b5-11cf-bb82-00aa00bdce0b)
9192 ]
9193 interface IHTMLScriptElement2 : IDispatch
9194 {
9195     [propput, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
9196     HRESULT charset([in] BSTR v);
9197
9198     [propget, id(DISPID_IHTMLSCRIPTELEMENT2_CHARSET), displaybind, bindable]
9199     HRESULT charset([retval, out] BSTR *p);
9200 }
9201
9202 /*****************************************************************************
9203  *    IHTMLFrameBase interface
9204  */
9205 [
9206     odl,
9207     oleautomation,
9208     dual,
9209     uuid(3050f311-98b5-11cf-bb82-00aa00bdce0b)
9210 ]
9211 interface IHTMLFrameBase : IDispatch
9212 {
9213     [propput, id(DISPID_IHTMLFRAMEBASE_SRC)]
9214     HRESULT src([in] BSTR v);
9215
9216     [propget, id(DISPID_IHTMLFRAMEBASE_SRC)]
9217     HRESULT src([out, retval] BSTR *p);
9218
9219     [propput, id(DISPID_IHTMLFRAMEBASE_NAME)]
9220     HRESULT name([in] BSTR v);
9221
9222     [propget, id(DISPID_IHTMLFRAMEBASE_NAME)]
9223     HRESULT name([out, retval] BSTR *p);
9224
9225     [propput, id(DISPID_IHTMLFRAMEBASE_BORDER)]
9226     HRESULT border([in] VARIANT v);
9227
9228     [propget, id(DISPID_IHTMLFRAMEBASE_BORDER)]
9229     HRESULT border([out, retval] VARIANT *p);
9230
9231     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
9232     HRESULT frameBorder([in] BSTR v);
9233
9234     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMEBORDER)]
9235     HRESULT frameBorder([out, retval] BSTR *p);
9236
9237     [propput, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
9238     HRESULT frameSpacing([in] VARIANT v);
9239
9240     [propget, id(DISPID_IHTMLFRAMEBASE_FRAMESPACING)]
9241     HRESULT frameSpacing([out, retval] VARIANT *p);
9242
9243     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
9244     HRESULT marginWidth([in] VARIANT v);
9245
9246     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINWIDTH)]
9247     HRESULT marginWidth([out, retval] VARIANT *p);
9248
9249     [propput, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
9250     HRESULT marginHeight([in] VARIANT v);
9251
9252     [propget, id(DISPID_IHTMLFRAMEBASE_MARGINHEIGHT)]
9253     HRESULT marginHeight([out, retval] VARIANT *p);
9254
9255     [propput, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
9256     HRESULT noResize([in] VARIANT_BOOL v);
9257
9258     [propget, id(DISPID_IHTMLFRAMEBASE_NORESIZE)]
9259     HRESULT noResize([out, retval] VARIANT_BOOL *p);
9260
9261     [propput, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
9262     HRESULT scrolling([in] BSTR v);
9263
9264     [propget, id(DISPID_IHTMLFRAMEBASE_SCROLLING)]
9265     HRESULT scrolling([out, retval] BSTR *p);
9266 }
9267
9268 /*****************************************************************************
9269  *    IHTMLFrameBase2 interface
9270  */
9271 [
9272     odl,
9273     oleautomation,
9274     dual,
9275     uuid(3050f6db-98b5-11cf-bb82-00aa00bdce0b)
9276 ]
9277 interface IHTMLFrameBase2 : IDispatch
9278 {
9279     [propget, id(DISPID_IHTMLFRAMEBASE2_CONTENTWINDOW)]
9280     HRESULT contentWindow([retval, out] IHTMLWindow2 **p);
9281
9282     [propput, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
9283     HRESULT onload([in] VARIANT v);
9284
9285     [propget, id(DISPID_IHTMLFRAMEBASE2_ONLOAD), displaybind, bindable]
9286     HRESULT onload([retval, out] VARIANT *p);
9287
9288     [propput, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
9289     HRESULT onreadystatechange([in] VARIANT v);
9290
9291     [propget, id(DISPID_IHTMLFRAMEBASE2_ONREADYSTATECHANGE), displaybind, bindable]
9292     HRESULT onreadystatechange([retval, out] VARIANT *p);
9293
9294     [propget, id(DISPID_IHTMLFRAMEBASE2_READYSTATE)]
9295     HRESULT readyState([retval, out] BSTR *p);
9296
9297     [propput, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
9298     HRESULT allowTransparency([in] VARIANT_BOOL v);
9299
9300     [propget, id(DISPID_IHTMLFRAMEBASE2_ALLOWTRANSPARENCY)]
9301     HRESULT allowTransparency([retval, out] VARIANT_BOOL *p);
9302 }
9303
9304 } /* library MSHTML */