Added implementation of IInternetPriority in HttpProtocol.
[wine] / include / mshtml.idl
1 /*
2  * Copyright 2004 Jacek Caban
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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  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
26 cpp_quote("#include <olectl.h>")
27
28 interface IHTMLElement;
29 interface IHTMLDocument2;
30 interface IHTMLStyleSheetsCollection;
31
32 /*****************************************************************************
33  *    IHTMLFiltersCollection interface
34  */
35 [
36     odl,
37     oleautomation,
38     dual,
39     uuid(3050F3EE-98B5-11Cf-BB82-00AA00BDCE0B)
40 ]
41 interface IHTMLFiltersCollection : IDispatch
42 {
43     [propget, id(DISPID_IHTMLFILTERSCOLLECTION_LENGTH)]
44     HRESULT length([retval, out] long *p);
45
46     [propget, id(DISPID_IHTMLFILTERSCOLLECTION__NEWENUM)]
47     HRESULT _newEnum([retval, out] IUnknown **p);
48
49     [id(DISPID_IHTMLFILTERSCOLLECTION_ITEM)]
50     HRESULT item(
51             [in] VARIANT *pvarIndex,
52             [retval, out] VARIANT *pvarResult);
53 }
54
55 [
56     uuid(3050F1C5-98B5-11CF-BB82-00AA00BDCE0B)
57 ]
58 library MSHTML
59 {
60
61 /*****************************************************************************
62  *    IHTMLStyle interface
63  */
64 [
65     odl,
66     oleautomation,
67     dual,
68     uuid(3050F25E-98B5-11CF-BB82-00AA00BDCE0B)
69 ]
70 interface IHTMLStyle : IDispatch
71 {
72     [propput, id(DISPID_IHTMLSTYLE_FONTFAMILY)]
73     HRESULT fontFamily([in] BSTR v);
74
75     [propget, id(DISPID_IHTMLSTYLE_FONTFAMILY)]
76     HRESULT fontFamily([retval, out] BSTR *p);
77
78     [propput, id(DISPID_IHTMLSTYLE_FONTSTYLE)]
79     HRESULT fontStyle([in] BSTR v);
80
81     [propget, id(DISPID_IHTMLSTYLE_FONTSTYLE)]
82     HRESULT fontStyle([retval, out] BSTR *p);
83
84     [propput, id(DISPID_IHTMLSTYLE_FONTVARIANT)]
85     HRESULT fontVariant([in] BSTR v);
86
87     [propget, id(DISPID_IHTMLSTYLE_FONTVARIANT)]
88     HRESULT fontVariant([retval, out] BSTR *p);
89
90     [propput, id(DISPID_IHTMLSTYLE_FONTWEIGHT)]
91     HRESULT fontWeight([in] BSTR v);
92
93     [propget, id(DISPID_IHTMLSTYLE_FONTWEIGHT)]
94     HRESULT fontWeight([retval, out] BSTR *p);
95
96     [propput, id(DISPID_IHTMLSTYLE_FONTSIZE)]
97     HRESULT fontSize([in] VARIANT v);
98
99     [propget, id(DISPID_IHTMLSTYLE_FONTSIZE)]
100     HRESULT fontSize([retval, out] VARIANT *p);
101
102     [propput, id(DISPID_IHTMLSTYLE_FONT)]
103     HRESULT font([in] BSTR v);
104
105     [propget, id(DISPID_IHTMLSTYLE_FONT)]
106     HRESULT font([retval, out] BSTR *p);
107
108     [propput, id(DISPID_IHTMLSTYLE_COLOR)]
109     HRESULT color([in] VARIANT v);
110
111     [propget, id(DISPID_IHTMLSTYLE_COLOR)]
112     HRESULT color([retval, out] VARIANT *p);
113
114     [propput, id(DISPID_IHTMLSTYLE_BACKGROUND)]
115     HRESULT background([in] BSTR v);
116
117     [propget, id(DISPID_IHTMLSTYLE_BACKGROUND)]
118     HRESULT background([retval, out] BSTR *p);
119
120     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR)]
121     HRESULT backgroundColor([in] VARIANT v);
122
123     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDCOLOR)]
124     HRESULT backgroundColor([retval, out] VARIANT *p);
125
126     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE)]
127     HRESULT backgroundImage([in] BSTR v);
128
129     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDIMAGE)]
130     HRESULT backgroundImage([retval, out] BSTR *p);
131
132     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT)]
133     HRESULT backgroundRepeat([in] BSTR v);
134
135     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDREPEAT)]
136     HRESULT backgroundRepeat([retval, out] BSTR *p);
137
138     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT)]
139     HRESULT backgroundAttachment([in] BSTR v);
140
141     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDATTACHMENT)]
142     HRESULT backgroundAttachment([retval, out] BSTR *p);
143
144     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION)]
145     HRESULT backgroundPosition([in] BSTR v);
146
147     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITION)]
148     HRESULT backgroundPosition([retval, out] BSTR *p);
149
150     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX)]
151     HRESULT backgroundPositionX([in] VARIANT v);
152
153     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONX)]
154     HRESULT backgroundPositionX([retval, out] VARIANT *p);
155
156     [propput, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY)]
157     HRESULT backgroundPositionY([in] VARIANT v);
158
159     [propget, id(DISPID_IHTMLSTYLE_BACKGROUNDPOSITIONY)]
160     HRESULT backgroundPositionY([retval, out] VARIANT *p);
161
162     [propput, id(DISPID_IHTMLSTYLE_WORDSPACING)]
163     HRESULT wordSpacing([in] VARIANT v);
164
165     [propget, id(DISPID_IHTMLSTYLE_WORDSPACING)]
166     HRESULT wordSpacing([retval, out] VARIANT *p);
167
168     [propput, id(DISPID_IHTMLSTYLE_LETTERSPACING)]
169     HRESULT letterSpacing([in] VARIANT v);
170
171     [propget, id(DISPID_IHTMLSTYLE_LETTERSPACING)]
172     HRESULT letterSpacing([retval, out] VARIANT *p);
173
174     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATION)]
175     HRESULT textDecoration([in] BSTR v);
176
177     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATION)]
178     HRESULT textDecoration([retval, out] BSTR *p);
179
180     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE)]
181     HRESULT textDecorationNone([in] VARIANT_BOOL v);
182
183     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONNONE)]
184     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
185
186     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE)]
187     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
188
189     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONUNDERLINE)]
190     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
191
192     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE)]
193     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
194
195     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONOVERLINE)]
196     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
197
198     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH)]
199     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
200
201     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONLINETHROUGH)]
202     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
203
204     [propput, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK)]
205     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
206
207     [propget, id(DISPID_IHTMLSTYLE_TEXTDECORATIONBLINK)]
208     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
209
210     [propput, id(DISPID_IHTMLSTYLE_VERTICALALIGN)]
211     HRESULT verticalAlign([in] VARIANT v);
212
213     [propget, id(DISPID_IHTMLSTYLE_VERTICALALIGN)]
214     HRESULT verticalAlign([retval, out] VARIANT *p);
215
216     [propput, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM)]
217     HRESULT textTransform([in] BSTR v);
218
219     [propget, id(DISPID_IHTMLSTYLE_TEXTTRANSFORM)]
220     HRESULT textTransform([retval, out] BSTR *p);
221
222     [propput, id(DISPID_IHTMLSTYLE_TEXTALIGN)]
223     HRESULT textAlign([in] BSTR v);
224
225     [propget, id(DISPID_IHTMLSTYLE_TEXTALIGN)]
226     HRESULT textAlign([retval, out] BSTR *p);
227
228     [propput, id(DISPID_IHTMLSTYLE_TEXTINDENT)]
229     HRESULT textIndent([in] VARIANT v);
230
231     [propget, id(DISPID_IHTMLSTYLE_TEXTINDENT)]
232     HRESULT textIndent([retval, out] VARIANT *p);
233
234     [propput, id(DISPID_IHTMLSTYLE_LINEHEIGHT)]
235     HRESULT lineHeight([in] VARIANT v);
236
237     [propget, id(DISPID_IHTMLSTYLE_LINEHEIGHT)]
238     HRESULT lineHeight([retval, out] VARIANT *p);
239
240     [propput, id(DISPID_IHTMLSTYLE_MARGINTOP)]
241     HRESULT marginTop([in] VARIANT v);
242
243     [propget, id(DISPID_IHTMLSTYLE_MARGINTOP)]
244     HRESULT marginTop([retval, out] VARIANT *p);
245
246     [propput, id(DISPID_IHTMLSTYLE_MARGINRIGHT)]
247     HRESULT marginRight([in] VARIANT v);
248
249     [propget, id(DISPID_IHTMLSTYLE_MARGINRIGHT)]
250     HRESULT marginRight([retval, out] VARIANT *p);
251
252     [propput, id(DISPID_IHTMLSTYLE_MARGINBOTTOM)]
253     HRESULT marginBottom([in] VARIANT v);
254
255     [propget, id(DISPID_IHTMLSTYLE_MARGINBOTTOM)]
256     HRESULT marginBottom([retval, out] VARIANT *p);
257
258     [propput, id(DISPID_IHTMLSTYLE_MARGINLEFT)]
259     HRESULT marginLeft([in] VARIANT v);
260
261     [propget, id(DISPID_IHTMLSTYLE_MARGINLEFT)]
262     HRESULT marginLeft([retval, out] VARIANT *p);
263
264     [propput, id(DISPID_IHTMLSTYLE_MARGIN)]
265     HRESULT margin([in] BSTR v);
266
267     [propget, id(DISPID_IHTMLSTYLE_MARGIN)]
268     HRESULT margin([retval, out] BSTR *p);
269
270     [propput, id(DISPID_IHTMLSTYLE_PADDINGTOP)]
271     HRESULT paddingTop([in] VARIANT v);
272
273     [propget, id(DISPID_IHTMLSTYLE_PADDINGTOP)]
274     HRESULT paddingTop([retval, out] VARIANT *p);
275
276     [propput, id(DISPID_IHTMLSTYLE_PADDINGRIGHT)]
277     HRESULT paddingRight([in] VARIANT v);
278
279     [propget, id(DISPID_IHTMLSTYLE_PADDINGRIGHT)]
280     HRESULT paddingRight([retval, out] VARIANT *p);
281
282     [propput, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM)]
283     HRESULT paddingBottom([in] VARIANT v);
284
285     [propget, id(DISPID_IHTMLSTYLE_PADDINGBOTTOM)]
286     HRESULT paddingBottom([retval, out] VARIANT *p);
287
288     [propput, id(DISPID_IHTMLSTYLE_PADDINGLEFT)]
289     HRESULT paddingLeft([in] VARIANT v);
290
291     [propget, id(DISPID_IHTMLSTYLE_PADDINGLEFT)]
292     HRESULT paddingLeft([retval, out] VARIANT *p);
293
294     [propput, id(DISPID_IHTMLSTYLE_PADDING)]
295     HRESULT padding([in] BSTR v);
296
297     [propget, id(DISPID_IHTMLSTYLE_PADDING)]
298     HRESULT padding([retval, out] BSTR *p);
299
300     [propput, id(DISPID_IHTMLSTYLE_BORDER)]
301     HRESULT border([in] BSTR v);
302
303     [propget, id(DISPID_IHTMLSTYLE_BORDER)]
304     HRESULT border([retval, out] BSTR *p);
305
306     [propput, id(DISPID_IHTMLSTYLE_BORDERTOP)]
307     HRESULT borderTop([in] BSTR v);
308
309     [propget, id(DISPID_IHTMLSTYLE_BORDERTOP)]
310     HRESULT borderTop([retval, out] BSTR *p);
311
312     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHT)]
313     HRESULT borderRight([in] BSTR v);
314
315     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHT)]
316     HRESULT borderRight([retval, out] BSTR *p);
317
318     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOM)]
319     HRESULT borderBottom([in] BSTR v);
320
321     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOM)]
322     HRESULT borderBottom([retval, out] BSTR *p);
323
324     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFT)]
325     HRESULT borderLeft([in] BSTR v);
326
327     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFT)]
328     HRESULT borderLeft([retval, out] BSTR *p);
329
330     [propput, id(DISPID_IHTMLSTYLE_BORDERCOLOR)]
331     HRESULT borderColor([in] BSTR v);
332
333     [propget, id(DISPID_IHTMLSTYLE_BORDERCOLOR)]
334     HRESULT borderColor([retval, out] BSTR *p);
335
336     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR)]
337     HRESULT borderTopColor([in] VARIANT v);
338
339     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPCOLOR)]
340     HRESULT borderTopColor([retval, out] VARIANT *p);
341
342     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR)]
343     HRESULT borderRightColor([in] VARIANT v);
344
345     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTCOLOR)]
346     HRESULT borderRightColor([retval, out] VARIANT *p);
347
348     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR)]
349     HRESULT borderBottomColor([in] VARIANT v);
350
351     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMCOLOR)]
352     HRESULT borderBottomColor([retval, out] VARIANT *p);
353
354     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR)]
355     HRESULT borderLeftColor([in] VARIANT v);
356
357     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTCOLOR)]
358     HRESULT borderLeftColor([retval, out] VARIANT *p);
359
360     [propput, id(DISPID_IHTMLSTYLE_BORDERWIDTH)]
361     HRESULT borderWidth([in] BSTR v);
362
363     [propget, id(DISPID_IHTMLSTYLE_BORDERWIDTH)]
364     HRESULT borderWidth([retval, out] BSTR *p);
365
366     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH)]
367     HRESULT borderTopWidth([in] VARIANT v);
368
369     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPWIDTH)]
370     HRESULT borderTopWidth([retval, out] VARIANT *p);
371
372     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH)]
373     HRESULT borderRightWidth([in] VARIANT v);
374
375     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTWIDTH)]
376     HRESULT borderRightWidth([retval, out] VARIANT *p);
377
378     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH)]
379     HRESULT borderBottomWidth([in] VARIANT v);
380
381     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMWIDTH)]
382     HRESULT borderBottomWidth([retval, out] VARIANT *p);
383
384     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH)]
385     HRESULT borderLeftWidth([in] VARIANT v);
386
387     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTWIDTH)]
388     HRESULT borderLeftWidth([retval, out] VARIANT *p);
389
390     [propput, id(DISPID_IHTMLSTYLE_BORDERSTYLE)]
391     HRESULT borderStyle([in] BSTR v);
392
393     [propget, id(DISPID_IHTMLSTYLE_BORDERSTYLE)]
394     HRESULT borderStyle([retval, out] BSTR *p);
395
396     [propput, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE)]
397     HRESULT borderTopStyle([in] BSTR v);
398
399     [propget, id(DISPID_IHTMLSTYLE_BORDERTOPSTYLE)]
400     HRESULT borderTopStyle([retval, out] BSTR *p);
401
402     [propput, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE)]
403     HRESULT borderRightStyle([in] BSTR v);
404
405     [propget, id(DISPID_IHTMLSTYLE_BORDERRIGHTSTYLE)]
406     HRESULT borderRightStyle([retval, out] BSTR *p);
407
408     [propput, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE)]
409     HRESULT borderBottomStyle([in] BSTR v);
410
411     [propget, id(DISPID_IHTMLSTYLE_BORDERBOTTOMSTYLE)]
412     HRESULT borderBottomStyle([retval, out] BSTR *p);
413
414     [propput, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE)]
415     HRESULT borderLeftStyle([in] BSTR v);
416
417     [propget, id(DISPID_IHTMLSTYLE_BORDERLEFTSTYLE)]
418     HRESULT borderLeftStyle([retval, out] BSTR *p);
419
420     [propput, id(DISPID_IHTMLSTYLE_WIDTH)]
421     HRESULT width([in] VARIANT v);
422
423     [propget, id(DISPID_IHTMLSTYLE_WIDTH)]
424     HRESULT width([retval, out] VARIANT *p);
425
426     [propput, id(DISPID_IHTMLSTYLE_HEIGHT)]
427     HRESULT height([in] VARIANT v);
428
429     [propget, id(DISPID_IHTMLSTYLE_HEIGHT)]
430     HRESULT height([retval, out] VARIANT *p);
431
432     [propput, id(DISPID_IHTMLSTYLE_STYLEFLOAT)]
433     HRESULT styleFloat([in] BSTR v);
434
435     [propget, id(DISPID_IHTMLSTYLE_STYLEFLOAT)]
436     HRESULT styleFloat([retval, out] BSTR *p);
437
438     [propput, id(DISPID_IHTMLSTYLE_CLEAR)]
439     HRESULT clear([in] BSTR v);
440
441     [propget, id(DISPID_IHTMLSTYLE_CLEAR)]
442     HRESULT clear([retval, out] BSTR *p);
443
444     [propput, id(DISPID_IHTMLSTYLE_DISPLAY)]
445     HRESULT display([in] BSTR v);
446
447     [propget, id(DISPID_IHTMLSTYLE_DISPLAY)]
448     HRESULT display([retval, out] BSTR *p);
449
450     [propput, id(DISPID_IHTMLSTYLE_VISIBILITY)]
451     HRESULT visibility([in] BSTR v);
452
453     [propget, id(DISPID_IHTMLSTYLE_VISIBILITY)]
454     HRESULT visibility([retval, out] BSTR *p);
455
456     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE)]
457     HRESULT listStyleType([in] BSTR v);
458
459     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLETYPE)]
460     HRESULT listStyleType([retval, out] BSTR *p);
461
462     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION)]
463     HRESULT listStylePosition([in] BSTR v);
464
465     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEPOSITION)]
466     HRESULT listStylePosition([retval, out] BSTR *p);
467
468     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE)]
469     HRESULT listStyleImage([in] BSTR v);
470
471     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLEIMAGE)]
472     HRESULT listStyleImage([retval, out] BSTR *p);
473
474     [propput, id(DISPID_IHTMLSTYLE_LISTSTYLE)]
475     HRESULT listStyle([in] BSTR v);
476
477     [propget, id(DISPID_IHTMLSTYLE_LISTSTYLE)]
478     HRESULT listStyle([retval, out] BSTR *p);
479
480     [propput, id(DISPID_IHTMLSTYLE_WHITESPACE)]
481     HRESULT whiteSpace([in] BSTR v);
482
483     [propget, id(DISPID_IHTMLSTYLE_WHITESPACE)]
484     HRESULT whiteSpace([retval, out] BSTR *p);
485
486     [propput, id(DISPID_IHTMLSTYLE_TOP)]
487     HRESULT top([in] VARIANT v);
488
489     [propget, id(DISPID_IHTMLSTYLE_TOP)]
490     HRESULT top([retval, out] VARIANT *p);
491
492     [propput, id(DISPID_IHTMLSTYLE_LEFT)]
493     HRESULT left([in] VARIANT v);
494
495     [propget, id(DISPID_IHTMLSTYLE_LEFT)]
496     HRESULT left([retval, out] VARIANT *p);
497
498     [propget, id(DISPID_IHTMLSTYLE_POSITION)]
499     HRESULT position([retval, out] BSTR *p);
500
501     [propput, id(DISPID_IHTMLSTYLE_ZINDEX)]
502     HRESULT zIndex([in] VARIANT v);
503
504     [propget, id(DISPID_IHTMLSTYLE_ZINDEX)]
505     HRESULT zIndex([retval, out] VARIANT *p);
506
507     [propput, id(DISPID_IHTMLSTYLE_OVERFLOW)]
508     HRESULT overflow([in] BSTR v);
509
510     [propget, id(DISPID_IHTMLSTYLE_OVERFLOW)]
511     HRESULT overflow([retval, out] BSTR *p);
512
513     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE)]
514     HRESULT pageBreakBefore([in] BSTR v);
515
516     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKBEFORE)]
517     HRESULT pageBreakBefore([retval, out] BSTR *p);
518
519     [propput, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER)]
520     HRESULT pageBreakAfter([in] BSTR v);
521
522     [propget, id(DISPID_IHTMLSTYLE_PAGEBREAKAFTER)]
523     HRESULT pageBreakAfter([retval, out] BSTR *p);
524
525     [propput, id(DISPID_IHTMLSTYLE_CSSTEXT)]
526     HRESULT cssText([in] BSTR v);
527
528     [propget, id(DISPID_IHTMLSTYLE_CSSTEXT)]
529     HRESULT cssText([retval, out] BSTR *p);
530
531     [propput, id(DISPID_IHTMLSTYLE_PIXELTOP)]
532     HRESULT pixelTop([in] long v);
533
534     [propget, id(DISPID_IHTMLSTYLE_PIXELTOP)]
535     HRESULT pixelTop([retval, out] long *p);
536
537     [propput, id(DISPID_IHTMLSTYLE_PIXELLEFT)]
538     HRESULT pixelLeft([in] long v);
539
540     [propget, id(DISPID_IHTMLSTYLE_PIXELLEFT)]
541     HRESULT pixelLeft([retval, out] long *p);
542
543     [propput, id(DISPID_IHTMLSTYLE_PIXELWIDTH)]
544     HRESULT pixelWidth([in] long v);
545
546     [propget, id(DISPID_IHTMLSTYLE_PIXELWIDTH)]
547     HRESULT pixelWidth([retval, out] long *p);
548
549     [propput, id(DISPID_IHTMLSTYLE_PIXELHEIGHT)]
550     HRESULT pixelHeight([in] long v);
551
552     [propget, id(DISPID_IHTMLSTYLE_PIXELHEIGHT)]
553     HRESULT pixelHeight([retval, out] long *p);
554
555     [propput, id(DISPID_IHTMLSTYLE_POSTOP)]
556     HRESULT posTop([in] float v);
557
558     [propget, id(DISPID_IHTMLSTYLE_POSTOP)]
559     HRESULT posTop([retval, out] float *p);
560
561     [propput, id(DISPID_IHTMLSTYLE_POSLEFT)]
562     HRESULT posLeft([in] float v);
563
564     [propget, id(DISPID_IHTMLSTYLE_POSLEFT)]
565     HRESULT posLeft([retval, out] float *p);
566
567     [propput, id(DISPID_IHTMLSTYLE_POSWIDTH)]
568     HRESULT posWidth([in] float v);
569
570     [propget, id(DISPID_IHTMLSTYLE_POSWIDTH)]
571     HRESULT posWidth([retval, out] float *p);
572
573     [propput, id(DISPID_IHTMLSTYLE_POSHEIGHT)]
574     HRESULT posHeight([in] float v);
575
576     [propget, id(DISPID_IHTMLSTYLE_POSHEIGHT)]
577     HRESULT posHeight([retval, out] float *p);
578
579     [propput, id(DISPID_IHTMLSTYLE_CURSOR)]
580     HRESULT cursor([in] BSTR v);
581
582     [propget, id(DISPID_IHTMLSTYLE_CURSOR)]
583     HRESULT cursor([retval, out] BSTR *p);
584
585     [propput, id(DISPID_IHTMLSTYLE_CLIP)]
586     HRESULT clip([in] BSTR v);
587
588     [propget, id(DISPID_IHTMLSTYLE_CLIP)]
589     HRESULT clip([retval, out] BSTR *p);
590
591     [propput, id(DISPID_IHTMLSTYLE_FILTER)]
592     HRESULT filter([in] BSTR v);
593
594     [propget, id(DISPID_IHTMLSTYLE_FILTER)]
595     HRESULT filter([retval, out] BSTR *p);
596
597     [id(DISPID_IHTMLSTYLE_SETATTRIBUTE)]
598     HRESULT setAttribute(
599         [in] BSTR strAttributeName,
600         [in] VARIANT AttributeValue,
601         [defaultvalue(1), in] LONG lFlags);
602
603     [id(DISPID_IHTMLSTYLE_GETATTRIBUTE)]
604     HRESULT getAttribute(
605         [in] BSTR strAttributeName,
606         [defaultvalue(0), in] LONG lFlags,
607         [retval, out] VARIANT *AttributeValue);
608
609     [id(DISPID_IHTMLSTYLE_REMOVEATTRIBUTE)]
610     HRESULT removeAttribute(
611         [in] BSTR strAttributeName,
612         [defaultvalue(1), in]
613         LONG lFlags,
614         [retval, out] VARIANT_BOOL *pfSuccess);
615
616     [id(DISPID_IHTMLSTYLE_TOSTRING)]
617     HRESULT toString([retval, out] BSTR *String);
618 }
619
620 /*****************************************************************************
621  *    IHTMLRuleStyle interface
622  */
623 [
624         odl,
625         oleautomation,
626         dual,
627         uuid(3050F3CF-98B5-11CF-BB82-00AA00BDCE0B)
628 ]
629 interface IHTMLRuleStyle : IDispatch
630 {
631     [propput, id(DISPID_IHTMLRULESTYLE_FONTFAMILY)]
632     HRESULT fontFamily([in] BSTR v);
633
634     [propget, id(DISPID_IHTMLRULESTYLE_FONTFAMILY)]
635     HRESULT fontFamily([retval, out] BSTR *p);
636
637     [propput, id(DISPID_IHTMLRULESTYLE_FONTSTYLE)]
638     HRESULT fontStyle([in] BSTR v);
639
640     [propget, id(DISPID_IHTMLRULESTYLE_FONTSTYLE)]
641     HRESULT fontStyle([retval, out] BSTR *p);
642
643     [propput, id(DISPID_IHTMLRULESTYLE_FONTVARIANT)]
644     HRESULT fontVariant([in] BSTR v);
645
646     [propget, id(DISPID_IHTMLRULESTYLE_FONTVARIANT)]
647     HRESULT fontVariant([retval, out] BSTR *p);
648
649     [propput, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT)]
650     HRESULT fontWeight([in] BSTR v);
651
652     [propget, id(DISPID_IHTMLRULESTYLE_FONTWEIGHT)]
653     HRESULT fontWeight([retval, out] BSTR *p);
654
655     [propput, id(DISPID_IHTMLRULESTYLE_FONTSIZE)]
656     HRESULT fontSize([in] VARIANT v);
657
658     [propget, id(DISPID_IHTMLRULESTYLE_FONTSIZE)]
659     HRESULT fontSize([retval, out] VARIANT *p);
660
661     [propput, id(DISPID_IHTMLRULESTYLE_FONT)]
662     HRESULT font([in] BSTR v);
663
664     [propget, id(DISPID_IHTMLRULESTYLE_FONT)]
665     HRESULT font([retval, out] BSTR *p);
666
667     [propput, id(DISPID_IHTMLRULESTYLE_COLOR)]
668     HRESULT color([in] VARIANT v);
669
670     [propget, id(DISPID_IHTMLRULESTYLE_COLOR)]
671     HRESULT color([retval, out] VARIANT *p);
672
673     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUND)]
674     HRESULT background([in] BSTR v);
675
676     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUND)]
677     HRESULT background([retval, out] BSTR *p);
678
679     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR)]
680     HRESULT backgroundColor([in] VARIANT v);
681
682     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDCOLOR)]
683     HRESULT backgroundColor([retval, out] VARIANT *p);
684
685     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE)]
686     HRESULT backgroundImage([in] BSTR v);
687
688     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDIMAGE)]
689     HRESULT backgroundImage([retval, out] BSTR *p);
690
691     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT)]
692     HRESULT backgroundRepeat([in] BSTR v);
693
694     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDREPEAT)]
695     HRESULT backgroundRepeat([retval, out] BSTR *p);
696
697     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT)]
698     HRESULT backgroundAttachment([in] BSTR v);
699
700     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDATTACHMENT)]
701     HRESULT backgroundAttachment([retval, out] BSTR *p);
702
703     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION)]
704     HRESULT backgroundPosition([in] BSTR v);
705
706     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITION)]
707     HRESULT backgroundPosition([retval, out] BSTR *p);
708
709     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX)]
710     HRESULT backgroundPositionX([in] VARIANT v);
711
712     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONX)]
713     HRESULT backgroundPositionX([retval, out] VARIANT *p);
714
715     [propput, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY)]
716     HRESULT backgroundPositionY([in] VARIANT v);
717
718     [propget, id(DISPID_IHTMLRULESTYLE_BACKGROUNDPOSITIONY)]
719     HRESULT backgroundPositionY([retval, out] VARIANT *p);
720
721     [propput, id(DISPID_IHTMLRULESTYLE_WORDSPACING)]
722     HRESULT wordSpacing([in] VARIANT v);
723
724     [propget, id(DISPID_IHTMLRULESTYLE_WORDSPACING)]
725     HRESULT wordSpacing([retval, out] VARIANT *p);
726
727     [propput, id(DISPID_IHTMLRULESTYLE_LETTERSPACING)]
728     HRESULT letterSpacing([in] VARIANT v);
729
730     [propget, id(DISPID_IHTMLRULESTYLE_LETTERSPACING)]
731     HRESULT letterSpacing([retval, out] VARIANT *p);
732
733     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION)]
734     HRESULT textDecoration([in] BSTR v);
735
736     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATION)]
737     HRESULT textDecoration([retval, out] BSTR *p);
738
739     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE)]
740     HRESULT textDecorationNone([in] VARIANT_BOOL v);
741
742     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONNONE)]
743     HRESULT textDecorationNone([retval, out] VARIANT_BOOL *p);
744
745     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE)]
746     HRESULT textDecorationUnderline([in] VARIANT_BOOL v);
747
748     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONUNDERLINE)]
749     HRESULT textDecorationUnderline([retval, out] VARIANT_BOOL *p);
750
751     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE)]
752     HRESULT textDecorationOverline([in] VARIANT_BOOL v);
753
754     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONOVERLINE)]
755     HRESULT textDecorationOverline([retval, out] VARIANT_BOOL *p);
756
757     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH)]
758     HRESULT textDecorationLineThrough([in] VARIANT_BOOL v);
759
760     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONLINETHROUGH)]
761     HRESULT textDecorationLineThrough([retval, out] VARIANT_BOOL *p);
762
763     [propput, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK)]
764     HRESULT textDecorationBlink([in] VARIANT_BOOL v);
765
766     [propget, id(DISPID_IHTMLRULESTYLE_TEXTDECORATIONBLINK)]
767     HRESULT textDecorationBlink([retval, out] VARIANT_BOOL *p);
768
769     [propput, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN)]
770     HRESULT verticalAlign([in] VARIANT v);
771
772     [propget, id(DISPID_IHTMLRULESTYLE_VERTICALALIGN)]
773     HRESULT verticalAlign([retval, out] VARIANT *p);
774
775     [propput, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM)]
776     HRESULT textTransform([in] BSTR v);
777
778     [propget, id(DISPID_IHTMLRULESTYLE_TEXTTRANSFORM)]
779     HRESULT textTransform([retval, out] BSTR *p);
780
781     [propput, id(DISPID_IHTMLRULESTYLE_TEXTALIGN)]
782     HRESULT textAlign([in] BSTR v);
783
784     [propget, id(DISPID_IHTMLRULESTYLE_TEXTALIGN)]
785     HRESULT textAlign([retval, out] BSTR *p);
786
787     [propput, id(DISPID_IHTMLRULESTYLE_TEXTINDENT)]
788     HRESULT textIndent([in] VARIANT v);
789
790     [propget, id(DISPID_IHTMLRULESTYLE_TEXTINDENT)]
791     HRESULT textIndent([retval, out] VARIANT *p);
792
793     [propput, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT)]
794     HRESULT lineHeight([in] VARIANT v);
795
796     [propget, id(DISPID_IHTMLRULESTYLE_LINEHEIGHT)]
797     HRESULT lineHeight([retval, out] VARIANT *p);
798
799     [propput, id(DISPID_IHTMLRULESTYLE_MARGINTOP)]
800     HRESULT marginTop([in] VARIANT v);
801
802     [propget, id(DISPID_IHTMLRULESTYLE_MARGINTOP)]
803     HRESULT marginTop([retval, out] VARIANT *p);
804
805     [propput, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT)]
806     HRESULT marginRight([in] VARIANT v);
807
808     [propget, id(DISPID_IHTMLRULESTYLE_MARGINRIGHT)]
809     HRESULT marginRight([retval, out] VARIANT *p);
810
811     [propput, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM)]
812     HRESULT marginBottom([in] VARIANT v);
813
814     [propget, id(DISPID_IHTMLRULESTYLE_MARGINBOTTOM)]
815     HRESULT marginBottom([retval, out] VARIANT *p);
816
817     [propput, id(DISPID_IHTMLRULESTYLE_MARGINLEFT)]
818     HRESULT marginLeft([in] VARIANT v);
819
820     [propget, id(DISPID_IHTMLRULESTYLE_MARGINLEFT)]
821     HRESULT marginLeft([retval, out] VARIANT *p);
822
823     [propput, id(DISPID_IHTMLRULESTYLE_MARGIN)]
824     HRESULT margin([in] BSTR v);
825
826     [propget, id(DISPID_IHTMLRULESTYLE_MARGIN)]
827     HRESULT margin([retval, out] BSTR *p);
828
829     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGTOP)]
830     HRESULT paddingTop([in] VARIANT v);
831
832     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGTOP)]
833     HRESULT paddingTop([retval, out] VARIANT *p);
834
835     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT)]
836     HRESULT paddingRight([in] VARIANT v);
837
838     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGRIGHT)]
839     HRESULT paddingRight([retval, out] VARIANT *p);
840
841     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM)]
842     HRESULT paddingBottom([in] VARIANT v);
843
844     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGBOTTOM)]
845     HRESULT paddingBottom([retval, out] VARIANT *p);
846
847     [propput, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT)]
848     HRESULT paddingLeft([in] VARIANT v);
849
850     [propget, id(DISPID_IHTMLRULESTYLE_PADDINGLEFT)]
851     HRESULT paddingLeft([retval, out] VARIANT *p);
852
853     [propput, id(DISPID_IHTMLRULESTYLE_PADDING)]
854     HRESULT padding([in] BSTR v);
855
856     [propget, id(DISPID_IHTMLRULESTYLE_PADDING)]
857     HRESULT padding([retval, out] BSTR *p);
858
859     [propput, id(DISPID_IHTMLRULESTYLE_BORDER)]
860     HRESULT border([in] BSTR v);
861
862     [propget, id(DISPID_IHTMLRULESTYLE_BORDER)]
863     HRESULT border([retval, out] BSTR *p);
864
865     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOP)]
866     HRESULT borderTop([in] BSTR v);
867
868     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOP)]
869     HRESULT borderTop([retval, out] BSTR *p);
870
871     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT)]
872     HRESULT borderRight([in] BSTR v);
873
874     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHT)]
875     HRESULT borderRight([retval, out] BSTR *p);
876
877     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM)]
878     HRESULT borderBottom([in] BSTR v);
879
880     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOM)]
881     HRESULT borderBottom([retval, out] BSTR *p);
882
883     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFT)]
884     HRESULT borderLeft([in] BSTR v);
885
886     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFT)]
887     HRESULT borderLeft([retval, out] BSTR *p);
888
889     [propput, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR)]
890     HRESULT borderColor([in] BSTR v);
891
892     [propget, id(DISPID_IHTMLRULESTYLE_BORDERCOLOR)]
893     HRESULT borderColor([retval, out] BSTR *p);
894
895     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR)]
896     HRESULT borderTopColor([in] VARIANT v);
897
898     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPCOLOR)]
899     HRESULT borderTopColor([retval, out] VARIANT *p);
900
901     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR)]
902     HRESULT borderRightColor([in] VARIANT v);
903
904     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTCOLOR)]
905     HRESULT borderRightColor([retval, out] VARIANT *p);
906
907     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR)]
908     HRESULT borderBottomColor([in] VARIANT v);
909
910     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMCOLOR)]
911     HRESULT borderBottomColor([retval, out] VARIANT *p);
912
913     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR)]
914     HRESULT borderLeftColor([in] VARIANT v);
915
916     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTCOLOR)]
917     HRESULT borderLeftColor([retval, out] VARIANT *p);
918
919     [propput, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH)]
920     HRESULT borderWidth([in] BSTR v);
921
922     [propget, id(DISPID_IHTMLRULESTYLE_BORDERWIDTH)]
923     HRESULT borderWidth([retval, out] BSTR *p);
924
925     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH)]
926     HRESULT borderTopWidth([in] VARIANT v);
927
928     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPWIDTH)]
929     HRESULT borderTopWidth([retval, out] VARIANT *p);
930
931     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH)]
932     HRESULT borderRightWidth([in] VARIANT v);
933
934     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTWIDTH)]
935     HRESULT borderRightWidth([retval, out] VARIANT *p);
936
937     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH)]
938     HRESULT borderBottomWidth([in] VARIANT v);
939
940     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMWIDTH)]
941     HRESULT borderBottomWidth([retval, out] VARIANT *p);
942
943     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH)]
944     HRESULT borderLeftWidth([in] VARIANT v);
945
946     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTWIDTH)]
947     HRESULT borderLeftWidth([retval, out] VARIANT *p);
948
949     [propput, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE)]
950     HRESULT borderStyle([in] BSTR v);
951
952     [propget, id(DISPID_IHTMLRULESTYLE_BORDERSTYLE)]
953     HRESULT borderStyle([retval, out] BSTR *p);
954
955     [propput, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE)]
956     HRESULT borderTopStyle([in] BSTR v);
957
958     [propget, id(DISPID_IHTMLRULESTYLE_BORDERTOPSTYLE)]
959     HRESULT borderTopStyle([retval, out] BSTR *p);
960
961     [propput, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE)]
962     HRESULT borderRightStyle([in] BSTR v);
963
964     [propget, id(DISPID_IHTMLRULESTYLE_BORDERRIGHTSTYLE)]
965     HRESULT borderRightStyle([retval, out] BSTR *p);
966
967     [propput, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE)]
968     HRESULT borderBottomStyle([in] BSTR v);
969
970     [propget, id(DISPID_IHTMLRULESTYLE_BORDERBOTTOMSTYLE)]
971     HRESULT borderBottomStyle([retval, out] BSTR *p);
972
973     [propput, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE)]
974     HRESULT borderLeftStyle([in] BSTR v);
975
976     [propget, id(DISPID_IHTMLRULESTYLE_BORDERLEFTSTYLE)]
977     HRESULT borderLeftStyle([retval, out] BSTR *p);
978
979     [propput, id(DISPID_IHTMLRULESTYLE_WIDTH)]
980     HRESULT width([in] VARIANT v);
981
982     [propget, id(DISPID_IHTMLRULESTYLE_WIDTH)]
983     HRESULT width([retval, out] VARIANT *p);
984
985     [propput, id(DISPID_IHTMLRULESTYLE_HEIGHT)]
986     HRESULT height([in] VARIANT v);
987
988     [propget, id(DISPID_IHTMLRULESTYLE_HEIGHT)]
989     HRESULT height([retval, out] VARIANT *p);
990
991     [propput, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT)]
992     HRESULT styleFloat([in] BSTR v);
993
994     [propget, id(DISPID_IHTMLRULESTYLE_STYLEFLOAT)]
995     HRESULT styleFloat([retval, out] BSTR *p);
996
997     [propput, id(DISPID_IHTMLRULESTYLE_CLEAR)]
998     HRESULT clear([in] BSTR v);
999
1000     [propget, id(DISPID_IHTMLRULESTYLE_CLEAR)]
1001     HRESULT clear([retval, out] BSTR *p);
1002
1003     [propput, id(DISPID_IHTMLRULESTYLE_DISPLAY)]
1004     HRESULT display([in] BSTR v);
1005
1006     [propget, id(DISPID_IHTMLRULESTYLE_DISPLAY)]
1007     HRESULT display([retval, out] BSTR *p);
1008
1009     [propput, id(DISPID_IHTMLRULESTYLE_VISIBILITY)]
1010     HRESULT visibility([in] BSTR v);
1011
1012     [propget, id(DISPID_IHTMLRULESTYLE_VISIBILITY)]
1013     HRESULT visibility([retval, out] BSTR *p);
1014
1015     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE)]
1016     HRESULT listStyleType([in] BSTR v);
1017
1018     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLETYPE)]
1019     HRESULT listStyleType([retval, out] BSTR *p);
1020
1021     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION)]
1022     HRESULT listStylePosition([in] BSTR v);
1023
1024     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEPOSITION)]
1025     HRESULT listStylePosition([retval, out] BSTR *p);
1026
1027     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE)]
1028     HRESULT listStyleImage([in] BSTR v);
1029
1030     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLEIMAGE)]
1031     HRESULT listStyleImage([retval, out] BSTR *p);
1032
1033     [propput, id(DISPID_IHTMLRULESTYLE_LISTSTYLE)]
1034     HRESULT listStyle([in] BSTR v);
1035
1036     [propget, id(DISPID_IHTMLRULESTYLE_LISTSTYLE)]
1037     HRESULT listStyle([retval, out] BSTR *p);
1038
1039     [propput, id(DISPID_IHTMLRULESTYLE_WHITESPACE)]
1040     HRESULT whiteSpace([in] BSTR v);
1041
1042     [propget, id(DISPID_IHTMLRULESTYLE_WHITESPACE)]
1043     HRESULT whiteSpace([retval, out] BSTR *p);
1044
1045     [propput, id(DISPID_IHTMLRULESTYLE_TOP)]
1046     HRESULT top([in] VARIANT v);
1047
1048     [propget, id(DISPID_IHTMLRULESTYLE_TOP)]
1049     HRESULT top([retval, out] VARIANT *p);
1050
1051     [propput, id(DISPID_IHTMLRULESTYLE_LEFT)]
1052     HRESULT left([in] VARIANT v);
1053
1054     [propget, id(DISPID_IHTMLRULESTYLE_LEFT)]
1055     HRESULT left([retval, out] VARIANT *p);
1056
1057     [propget, id(DISPID_IHTMLRULESTYLE_POSITION)]
1058     HRESULT position([retval, out] BSTR *p);
1059
1060     [propput, id(DISPID_IHTMLRULESTYLE_ZINDEX)]
1061     HRESULT zIndex([in] VARIANT v);
1062
1063     [propget, id(DISPID_IHTMLRULESTYLE_ZINDEX)]
1064     HRESULT zIndex([retval, out] VARIANT *p);
1065
1066     [propput, id(DISPID_IHTMLRULESTYLE_OVERFLOW)]
1067     HRESULT overflow([in] BSTR v);
1068
1069     [propget, id(DISPID_IHTMLRULESTYLE_OVERFLOW)]
1070     HRESULT overflow([retval, out] BSTR *p);
1071
1072     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE)]
1073     HRESULT pageBreakBefore([in] BSTR v);
1074
1075     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKBEFORE)]
1076     HRESULT pageBreakBefore([retval, out] BSTR *p);
1077
1078     [propput, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER)]
1079     HRESULT pageBreakAfter([in] BSTR v);
1080
1081     [propget, id(DISPID_IHTMLRULESTYLE_PAGEBREAKAFTER)]
1082     HRESULT pageBreakAfter([retval, out] BSTR *p);
1083
1084     [propput, id(DISPID_IHTMLRULESTYLE_CSSTEXT)]
1085     HRESULT cssText([in] BSTR v);
1086
1087     [propget, id(DISPID_IHTMLRULESTYLE_CSSTEXT)]
1088     HRESULT cssText([retval, out] BSTR *p);
1089
1090     [propput, id(DISPID_IHTMLRULESTYLE_CURSOR)]
1091     HRESULT cursor([in] BSTR v);
1092
1093     [propget, id(DISPID_IHTMLRULESTYLE_CURSOR)]
1094     HRESULT cursor([retval, out] BSTR *p);
1095
1096     [propput, id(DISPID_IHTMLRULESTYLE_CLIP)]
1097     HRESULT clip([in] BSTR v);
1098
1099     [propget, id(DISPID_IHTMLRULESTYLE_CLIP)]
1100     HRESULT clip([retval, out] BSTR *p);
1101
1102     [propput, id(DISPID_IHTMLRULESTYLE_FILTER)]
1103     HRESULT filter([in] BSTR v);
1104
1105     [propget, id(DISPID_IHTMLRULESTYLE_FILTER)]
1106     HRESULT filter([retval, out] BSTR *p);
1107
1108     [id(DISPID_IHTMLRULESTYLE_SETATTRIBUTE)]
1109     HRESULT setAttribute(
1110         [in] BSTR strAttributeName,
1111         [in] VARIANT AttributeValue,
1112         [defaultvalue(1), in] LONG lFlags);
1113
1114     [id(DISPID_IHTMLRULESTYLE_GETATTRIBUTE)]
1115     HRESULT getAttribute(
1116         [in] BSTR strAttributeName,
1117         [defaultvalue(0), in] LONG lFlags,
1118         [retval, out] VARIANT *AttributeValue);
1119
1120     [id(DISPID_IHTMLRULESTYLE_REMOVEATTRIBUTE)]
1121     HRESULT removeAttribute(
1122         [in] BSTR strAttributeName,
1123         [defaultvalue(1), in] LONG lFlags,
1124         [retval, out] VARIANT_BOOL *pfSuccess);
1125 }
1126
1127 /*****************************************************************************
1128  *    IHTMLElement interface
1129  */
1130 [
1131     odl,
1132     dual,
1133     oleautomation,
1134     uuid(3050f1FF-98B5-11CF-BB82-00AA00BDCE0B)
1135 ]
1136 interface IHTMLElement : IDispatch
1137 {
1138     [id(DISPID_IHTMLELEMENT_SETATTRIBUTE)]
1139     HRESULT setAttribute(
1140         [in] BSTR strAttributeName,
1141         [in] VARIANT AttributeValue,
1142         [defaultvalue(1), in] LONG lFlags);
1143
1144     [id(DISPID_IHTMLELEMENT_GETATTRIBUTE)]
1145     HRESULT getAttribute(
1146         [in] BSTR strAttributeName,
1147         [defaultvalue(0), in] LONG lFlags,
1148         [retval, out] VARIANT AttributeValue);
1149
1150     [id(DISPID_IHTMLELEMENT_REMOVEATTRIBUTE)]
1151     HRESULT removeAttribute(
1152         [in] BSTR strAttributeName,
1153         [defaultvalue(1), in] LONG lFlags,
1154         [retval, out] VARIANT_BOOL *pfSuccess);
1155
1156     [propput, id(DISPID_IHTMLELEMENT_CLASSNAME)]
1157     HRESULT className([in] BSTR v);
1158
1159     [propget, id(DISPID_IHTMLELEMENT_CLASSNAME)]
1160     HRESULT className([retval, out] BSTR *p);
1161
1162     [propput, id(DISPID_IHTMLELEMENT_ID)]
1163     HRESULT id([in] BSTR v);
1164
1165     [propget, id(DISPID_IHTMLELEMENT_ID)]
1166     HRESULT id([retval, out] BSTR *p);
1167
1168     [propget, id(DISPID_IHTMLELEMENT_TAGNAME)]
1169     HRESULT tagName([retval, out] BSTR *p);
1170
1171     [propget, id(DISPID_IHTMLELEMENT_PARENTELEMENT)]
1172     HRESULT parentElement([retval, out] IHTMLElement **p);
1173
1174     [propget, id(DISPID_IHTMLELEMENT_STYLE)]
1175     HRESULT style([retval, out] IHTMLStyle **p);
1176
1177     [propput, id(DISPID_IHTMLELEMENT_ONHELP)]
1178     HRESULT onhelp([in] VARIANT v);
1179
1180     [propget, id(DISPID_IHTMLELEMENT_ONHELP)]
1181     HRESULT onhelp([retval, out] VARIANT *p);
1182
1183     [propput, id(DISPID_IHTMLELEMENT_ONCLICK)]
1184     HRESULT onclick([in] VARIANT v);
1185
1186     [propget, id(DISPID_IHTMLELEMENT_ONCLICK)]
1187     HRESULT onclick([retval, out] VARIANT *p);
1188
1189     [propput, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
1190     HRESULT ondblclick([in] VARIANT v);
1191
1192     [propget, id(DISPID_IHTMLELEMENT_ONDBLCLICK)]
1193     HRESULT ondblclick([retval, out] VARIANT *p);
1194
1195     [propput, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
1196     HRESULT onkeydown([in] VARIANT v);
1197
1198     [propget, id(DISPID_IHTMLELEMENT_ONKEYDOWN)]
1199     HRESULT onkeydown([retval, out] VARIANT *p);
1200
1201     [propput, id(DISPID_IHTMLELEMENT_ONKEYUP)]
1202     HRESULT onkeyup([in] VARIANT v);
1203     
1204     [propget, id(DISPID_IHTMLELEMENT_ONKEYUP)]
1205     HRESULT onkeyup([retval, out] VARIANT *p);
1206
1207     [propput, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
1208     HRESULT onkeypress([in] VARIANT v);
1209
1210     [propget, id(DISPID_IHTMLELEMENT_ONKEYPRESS)]
1211     HRESULT onkeypress([retval, out] VARIANT *p);
1212
1213     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
1214     HRESULT onmouseout([in] VARIANT v);
1215
1216     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOUT)]
1217     HRESULT onmouseout([retval, out] VARIANT *p);
1218
1219     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
1220     HRESULT onmouseover([in] VARIANT v);
1221
1222     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEOVER)]
1223     HRESULT onmouseover([retval, out] VARIANT *p);
1224
1225     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
1226     HRESULT onmousemove([in] VARIANT v);
1227
1228     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEMOVE)]
1229     HRESULT onmousemove([retval, out] VARIANT *p);
1230
1231     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
1232     HRESULT onmousedown([in] VARIANT v);
1233
1234     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEDOWN)]
1235     HRESULT onmousedown([retval, out] VARIANT *p);
1236
1237     [propput, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
1238     HRESULT onmouseup([in] VARIANT v);
1239
1240     [propget, id(DISPID_IHTMLELEMENT_ONMOUSEUP)]
1241     HRESULT onmouseup([retval, out] VARIANT *p);
1242
1243     [propget, id(DISPID_IHTMLELEMENT_DOCUMENT)]
1244     HRESULT document([retval, out] IDispatch **p);
1245
1246     [propput, id(DISPID_IHTMLELEMENT_TITLE)]
1247     HRESULT title([in] BSTR v);
1248
1249     [propget, id(DISPID_IHTMLELEMENT_TITLE)]
1250     HRESULT title([retval, out] BSTR *p);
1251
1252     [propput, id(DISPID_IHTMLELEMENT_LANGUAGE)]
1253     HRESULT language([in] BSTR v);
1254
1255     [propget, id(DISPID_IHTMLELEMENT_LANGUAGE)]
1256     HRESULT language([retval, out] BSTR *p);
1257
1258     [propput, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
1259     HRESULT onselectstart([in] VARIANT v);
1260
1261     [propget, id(DISPID_IHTMLELEMENT_ONSELECTSTART)]
1262     HRESULT onselectstart([retval, out] VARIANT *p);
1263
1264     [id(DISPID_IHTMLELEMENT_SCROLLINTOVIEW)]
1265     HRESULT scrollIntoView([optional, in] VARIANT varargStart);
1266
1267     [id(DISPID_IHTMLELEMENT_CONTAINS)]
1268     HRESULT contains(
1269         [in] IHTMLElement *pChild,
1270         [retval, out] VARIANT_BOOL *pfResult);
1271
1272     [propget, id(DISPID_IHTMLELEMENT_SOURCEINDEX)]
1273     HRESULT sourceIndex([retval, out] long *p);
1274
1275     [propget, id(DISPID_IHTMLELEMENT_RECORDNUMBER)]
1276     HRESULT recordNumber([retval, out] VARIANT *p);
1277
1278     [propput, id(DISPID_IHTMLELEMENT_LANG)]
1279     HRESULT lang([in] BSTR v);
1280
1281     [propget, id(DISPID_IHTMLELEMENT_LANG)]
1282     HRESULT lang([retval, out] BSTR *p);
1283
1284     [propget, id(DISPID_IHTMLELEMENT_OFFSETLEFT)]
1285     HRESULT offsetLeft([retval, out] long *p);
1286
1287     [propget, id(DISPID_IHTMLELEMENT_OFFSETTOP)]
1288     HRESULT offsetTop([retval, out] long *p);
1289
1290     [propget, id(DISPID_IHTMLELEMENT_OFFSETWIDTH)]
1291     HRESULT offsetWidth([retval, out] long *p);
1292
1293     [propget, id(DISPID_IHTMLELEMENT_OFFSETHEIGHT)]
1294     HRESULT offsetHeight([retval, out] long *p);
1295
1296     [propget, id(DISPID_IHTMLELEMENT_OFFSETPARENT)]
1297     HRESULT offsetParent([retval, out] IHTMLElement **p);
1298
1299     [propput, id(DISPID_IHTMLELEMENT_INNERHTML)]
1300     HRESULT innerHTML([in] BSTR v);
1301
1302     [propget, id(DISPID_IHTMLELEMENT_INNERHTML)]
1303     HRESULT innerHTML([retval, out] BSTR *p);
1304
1305     [propput, id(DISPID_IHTMLELEMENT_INNERTEXT)]
1306     HRESULT innerText([in] BSTR v);
1307
1308     [propget, id(DISPID_IHTMLELEMENT_INNERTEXT)]
1309     HRESULT innerText([retval, out] BSTR *p);
1310
1311     [propput, id(DISPID_IHTMLELEMENT_OUTERHTML)]
1312     HRESULT outerHTML([in] BSTR v);
1313
1314     [propget, id(DISPID_IHTMLELEMENT_OUTERHTML)]
1315     HRESULT outerHTML([retval, out] BSTR *p);
1316
1317     [propput, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
1318     HRESULT outerText([in] BSTR v);
1319
1320     [propget, id(DISPID_IHTMLELEMENT_OUTERTEXT)]
1321     HRESULT outerText([retval, out] BSTR *p);
1322
1323     [id(DISPID_IHTMLELEMENT_INSERTADJACENTHTML)]
1324     HRESULT insertAdjacentHTML([in] BSTR where, [in] BSTR html);
1325
1326     [id(DISPID_IHTMLELEMENT_INSERTADJACENTTEXT)]
1327     HRESULT insertAdjacentText([in] BSTR where, [in] BSTR text);
1328
1329     [propget, id(DISPID_IHTMLELEMENT_PARENTTEXTEDIT)]
1330     HRESULT parentTextEdit([retval, out] IHTMLElement **p);
1331
1332     [propget, id(DISPID_IHTMLELEMENT_ISTEXTEDIT)]
1333     HRESULT isTextEdit([retval, out] VARIANT_BOOL *p);
1334
1335     [id(DISPID_IHTMLELEMENT_CLICK)]
1336     HRESULT click();
1337
1338     [propget, id(DISPID_IHTMLELEMENT_FILTERS)]
1339     HRESULT filters([retval, out] IHTMLFiltersCollection **p);
1340
1341     [propput, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
1342     HRESULT ondragstart([in] VARIANT v);
1343
1344     [propget, id(DISPID_IHTMLELEMENT_ONDRAGSTART)]
1345     HRESULT ondragstart([retval, out] VARIANT *p);
1346
1347     [id(DISPID_IHTMLELEMENT_TOSTRING)]
1348     HRESULT toString([retval, out] BSTR *String);
1349
1350     [propput, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
1351     HRESULT onbeforeupdate([in] VARIANT v);
1352
1353     [propget, id(DISPID_IHTMLELEMENT_ONBEFOREUPDATE)]
1354     HRESULT onbeforeupdate([retval, out] VARIANT *p);
1355
1356     [propput, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
1357     HRESULT onafterupdate([in] VARIANT v);
1358
1359     [propget, id(DISPID_IHTMLELEMENT_ONAFTERUPDATE)]
1360     HRESULT onafterupdate([retval, out] VARIANT *p);
1361
1362     [propput, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
1363     HRESULT onerrorupdate([in] VARIANT v);
1364
1365     [propget, id(DISPID_IHTMLELEMENT_ONERRORUPDATE)]
1366     HRESULT onerrorupdate([retval, out] VARIANT *p);
1367
1368     [propput, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
1369     HRESULT onrowexit([in] VARIANT v);
1370
1371     [propget, id(DISPID_IHTMLELEMENT_ONROWEXIT)]
1372     HRESULT onrowexit([retval, out] VARIANT *p);
1373
1374     [propput, id(DISPID_IHTMLELEMENT_ONROWENTER)]
1375     HRESULT onrowenter([in] VARIANT v);
1376
1377     [propget, id(DISPID_IHTMLELEMENT_ONROWENTER)]
1378     HRESULT onrowenter([retval, out] VARIANT *p);
1379
1380     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
1381     HRESULT ondatasetchanged([in] VARIANT v);
1382
1383     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCHANGED)]
1384     HRESULT ondatasetchanged([retval, out] VARIANT *p);
1385
1386     [propput, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
1387     HRESULT ondataavailable([in] VARIANT v);
1388
1389     [propget, id(DISPID_IHTMLELEMENT_ONDATAAVAILABLE)]
1390     HRESULT ondataavailable([retval, out] VARIANT *p);
1391
1392     [propput, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
1393     HRESULT ondatasetcomplete([in] VARIANT v);
1394
1395     [propget, id(DISPID_IHTMLELEMENT_ONDATASETCOMPLETE)]
1396     HRESULT ondatasetcomplete([retval, out] VARIANT *p);
1397
1398     [propput, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
1399     HRESULT onfilterchange([in] VARIANT v);
1400
1401     [propget, id(DISPID_IHTMLELEMENT_ONFILTERCHANGE)]
1402     HRESULT onfilterchange([retval, out] VARIANT *p);
1403
1404     [propget, id(DISPID_IHTMLELEMENT_CHILDREN)]
1405     HRESULT children([retval, out] IDispatch **p);
1406
1407     [propget, id(DISPID_IHTMLELEMENT_ALL)]
1408     HRESULT all([retval, out] IDispatch **p);
1409 }
1410
1411 /*****************************************************************************
1412  *    IHTMLStyleSheetRule interface
1413  */
1414 [
1415     odl,
1416     oleautomation,
1417     dual,
1418     uuid(3050F357-98B5-11CF-BB82-00AA00BDCE0B)
1419 ]
1420 interface IHTMLStyleSheetRule : IDispatch
1421 {
1422     [propput, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
1423     HRESULT selectorText([in] BSTR v);
1424
1425     [propget, id(DISPID_IHTMLSTYLESHEETRULE_SELECTORTEXT)]
1426     HRESULT selectorText([retval, out] BSTR *p);
1427
1428     [propget, id(DISPID_IHTMLSTYLESHEETRULE_STYLE)]
1429     HRESULT style([retval, out] IHTMLRuleStyle **p);
1430
1431     [propget, id(DISPID_IHTMLSTYLESHEETRULE_READONLY)]
1432     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
1433 }
1434
1435 /*****************************************************************************
1436  *    IHTMLStyleSheetRulesCollection interface
1437  */
1438 [
1439     odl,
1440     oleautomation,
1441     dual,
1442     uuid(3050F2E5-98B5-11Cf-BB82-00AA00BDCE0B)
1443 ]
1444 interface IHTMLStyleSheetRulesCollection : IDispatch
1445 {
1446     [propget, id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_LENGTH)]
1447     HRESULT length([retval, out] long *p);
1448
1449     [id(DISPID_IHTMLSTYLESHEETRULESCOLLECTION_ITEM)]
1450     HRESULT item(
1451         [in] long index,
1452         [retval, out] IHTMLStyleSheetRule **ppHTMLStyleSheetRule);
1453 }
1454
1455 /*****************************************************************************
1456  *    IHTMLStyleSheet interface
1457  */
1458 [
1459     odl,
1460     oleautomation,
1461     dual,
1462     uuid(3050F2E3-98B5-11CF-BB82-00AA00BDCE0B)
1463 ]
1464 interface IHTMLStyleSheet : IDispatch
1465 {
1466     [propput, id(DISPID_IHTMLSTYLESHEET_TITLE)]
1467     HRESULT title([in] BSTR v);
1468
1469     [propget, id(DISPID_IHTMLSTYLESHEET_TITLE)]
1470     HRESULT title([retval, out] BSTR *p);
1471
1472     [propget, id(DISPID_IHTMLSTYLESHEET_PARENTSTYLESHEET)]
1473     HRESULT parentStyleSheet([retval, out] IHTMLStyleSheet **p);
1474
1475     [propget, id(DISPID_IHTMLSTYLESHEET_OWNINGELEMENT)]
1476     HRESULT owningElement([retval, out] IHTMLElement **p);
1477
1478     [propput, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
1479     HRESULT disabled([in] VARIANT_BOOL v);
1480
1481     [propget, id(DISPID_IHTMLSTYLESHEET_DISABLED)]
1482     HRESULT disabled([retval, out] VARIANT_BOOL *p);
1483
1484     [propget, id(DISPID_IHTMLSTYLESHEET_READONLY)]
1485     HRESULT readOnly([retval, out] VARIANT_BOOL *p);
1486
1487     [propget, id(DISPID_IHTMLSTYLESHEET_IMPORTS)]
1488     HRESULT imports([retval, out] IHTMLStyleSheetsCollection **p);
1489
1490     [propput, id(DISPID_IHTMLSTYLESHEET_HREF)]
1491     HRESULT href([in] BSTR v);
1492
1493     [propget, id(DISPID_IHTMLSTYLESHEET_HREF)]
1494     HRESULT href([retval, out] BSTR *p);
1495
1496     [propget, id(DISPID_IHTMLSTYLESHEET_TYPE)]
1497     HRESULT type([retval, out] BSTR *p);
1498
1499     [propget, id(DISPID_IHTMLSTYLESHEET_ID)]
1500     HRESULT id([retval, out] BSTR *p);
1501
1502     [id(DISPID_IHTMLSTYLESHEET_ADDIMPORT)]
1503     HRESULT addImport(
1504         [in] BSTR bstrURL,
1505         [defaultvalue(-1), in] long lIndex,
1506         [retval, out] long *plIndex);
1507
1508     [id(DISPID_IHTMLSTYLESHEET_ADDRULE)]
1509     HRESULT addRule(
1510         [in] BSTR bstrSelector,
1511         [in] BSTR bstrStyle,
1512         [defaultvalue(-1), in] long lIndex,
1513         [retval, out] long *plNewIndex);
1514
1515     [id(DISPID_IHTMLSTYLESHEET_REMOVEIMPORT)]
1516     HRESULT removeImport([in] long lIndex);
1517
1518     [id(DISPID_IHTMLSTYLESHEET_REMOVERULE)]
1519     HRESULT removeRule([in] long lIndex);
1520
1521     [propput, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
1522     HRESULT media([in] BSTR v);
1523
1524     [propget, id(DISPID_IHTMLSTYLESHEET_MEDIA)]
1525     HRESULT media([retval, out] BSTR *p);
1526
1527     [propput, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
1528     HRESULT cssText([in] BSTR v);
1529
1530     [propget, id(DISPID_IHTMLSTYLESHEET_CSSTEXT)]
1531     HRESULT cssText([retval, out] BSTR *p);
1532
1533     [propget, id(DISPID_IHTMLSTYLESHEET_RULES)]
1534     HRESULT rules([retval, out] IHTMLStyleSheetRulesCollection **p);
1535 }
1536
1537 /*****************************************************************************
1538  *    IHTMLStyleSheetsCollection interface
1539  */
1540 [
1541     odl,
1542     oleautomation,
1543     dual,
1544     uuid(3050F37E-98B5-11CF-BB82-00AA00BDCE0B)
1545 ]
1546 interface IHTMLStyleSheetsCollection : IDispatch
1547 {
1548     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION_LENGTH)]
1549     HRESULT length([retval, out] long *p);
1550
1551     [propget, id(DISPID_IHTMLSTYLESHEETSCOLLECTION__NEWENUM)]
1552     HRESULT _newEnum([retval, out] IUnknown **p);
1553
1554     [id(DISPID_IHTMLSTYLESHEETSCOLLECTION_ITEM)]
1555     HRESULT item(
1556         [in] VARIANT *pvarIndex,
1557         [retval, out] VARIANT *pvarResult);
1558 }
1559
1560 /*****************************************************************************
1561  *    IHTMLFormElement interface
1562  */
1563 [
1564     odl,
1565     oleautomation,
1566     dual,
1567     uuid(3050F1F7-98B5-11CF-BB82-00AA00BDCE0B)
1568 ]
1569 interface IHTMLFormElement : IDispatch
1570 {
1571     [propput, id(DISPID_IHTMLFORMELEMENT_ACTION)]
1572     HRESULT action([in] BSTR v);
1573
1574     [propget, id(DISPID_IHTMLFORMELEMENT_ACTION)]
1575     HRESULT action([retval, out] BSTR *p);
1576
1577     [propput, id(DISPID_IHTMLFORMELEMENT_DIR)]
1578     HRESULT dir([in] BSTR v);
1579
1580     [propget, id(DISPID_IHTMLFORMELEMENT_DIR)]
1581     HRESULT dir([retval, out] BSTR *p);
1582
1583     [propput, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
1584     HRESULT encoding([in] BSTR v);
1585
1586     [propget, id(DISPID_IHTMLFORMELEMENT_ENCODING)]
1587     HRESULT encoding([retval, out] BSTR *p);
1588
1589     [propput, id(DISPID_IHTMLFORMELEMENT_METHOD)]
1590     HRESULT method([in] BSTR v);
1591
1592     [propget, id(DISPID_IHTMLFORMELEMENT_METHOD)]
1593     HRESULT method([retval, out] BSTR *p);
1594
1595     [propget, id(DISPID_IHTMLFORMELEMENT_ELEMENTS)]
1596     HRESULT elements([retval, out] IDispatch **p);
1597
1598     [propput, id(DISPID_IHTMLFORMELEMENT_TARGET)]
1599     HRESULT target([in] BSTR v);
1600
1601     [propget, id(DISPID_IHTMLFORMELEMENT_TARGET)]
1602     HRESULT target([retval, out] BSTR *p);
1603
1604     [propput, id(DISPID_IHTMLFORMELEMENT_NAME)]
1605     HRESULT name([in] BSTR v);
1606
1607     [propget, id(DISPID_IHTMLFORMELEMENT_NAME)]
1608     HRESULT name([retval, out] BSTR *p);
1609
1610     [propput, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
1611     HRESULT onsubmit([in] VARIANT v);
1612
1613     [propget, id(DISPID_IHTMLFORMELEMENT_ONSUBMIT)]
1614     HRESULT onsubmit([retval, out] VARIANT *p);
1615
1616     [propput, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
1617     HRESULT onreset([in] VARIANT v);
1618
1619     [propget, id(DISPID_IHTMLFORMELEMENT_ONRESET)]
1620     HRESULT onreset([retval, out] VARIANT *p);
1621
1622     [id(DISPID_IHTMLFORMELEMENT_SUBMIT)]
1623     HRESULT submit();
1624
1625     [id(DISPID_IHTMLFORMELEMENT_RESET)]
1626     HRESULT reset();
1627
1628     [propput, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
1629     HRESULT length([in] long v);
1630
1631     [propget, id(DISPID_IHTMLFORMELEMENT_LENGTH)]
1632     HRESULT length([retval, out] long *p);
1633
1634     [propget, id(DISPID_IHTMLFORMELEMENT__NEWENUM)]
1635     HRESULT _newEnum([retval, out] IUnknown **p);
1636
1637     [id(DISPID_IHTMLFORMELEMENT_ITEM)]
1638     HRESULT item(
1639         [optional, in] VARIANT name,
1640         [optional, in] VARIANT index,
1641         [retval, out] IDispatch **pdisp);
1642
1643     [id(DISPID_IHTMLFORMELEMENT_TAGS)]
1644     HRESULT tags(
1645         [in] VARIANT tagName,
1646         [retval, out] IDispatch **pdisp);
1647 }
1648
1649 /*****************************************************************************
1650  *    IHTMLImgElement interface
1651  */
1652 [
1653     odl,
1654     oleautomation,
1655     dual,
1656     uuid(3050F240-98B5-11CF-BB82-00AA00BDCE0B)
1657 ]
1658 interface IHTMLImgElement : IDispatch
1659 {
1660     [propput, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
1661     HRESULT isMap([in] VARIANT_BOOL v);
1662
1663     [propget, id(DISPID_IHTMLIMGELEMENT_ISMAP)]
1664     HRESULT isMap([retval, out] VARIANT_BOOL *p);
1665
1666     [propput, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
1667     HRESULT useMap([in] BSTR v);
1668
1669     [propget, id(DISPID_IHTMLIMGELEMENT_USEMAP)]
1670     HRESULT useMap([retval, out] BSTR *p);
1671
1672     [propget, id(DISPID_IHTMLIMGELEMENT_MIMETYPE)]
1673     HRESULT mimeType([retval, out] BSTR *p);
1674
1675     [propget, id(DISPID_IHTMLIMGELEMENT_FILESIZE)]
1676     HRESULT fileSize([retval, out] BSTR *p);
1677
1678     [propget, id(DISPID_IHTMLIMGELEMENT_FILECREATEDDATE)]
1679     HRESULT fileCreatedDate([retval, out] BSTR *p);
1680
1681     [propget, id(DISPID_IHTMLIMGELEMENT_FILEMODIFIEDDATE)]
1682     HRESULT fileModifiedDate([retval, out] BSTR *p);
1683
1684     [propget, id(DISPID_IHTMLIMGELEMENT_FILEUPDATEDDATE)]
1685     HRESULT fileUpdatedDate([retval, out] BSTR *p);
1686
1687     [propget, id(DISPID_IHTMLIMGELEMENT_PROTOCOL)]
1688     HRESULT protocol([retval, out] BSTR *p);
1689
1690     [propget, id(DISPID_IHTMLIMGELEMENT_HREF)]
1691     HRESULT href([retval, out] BSTR *p);
1692
1693     [propget, id(DISPID_IHTMLIMGELEMENT_NAMEPROP)]
1694     HRESULT nameProp([retval, out] BSTR *p);
1695
1696     [propput, id(DISPID_IHTMLIMGELEMENT_BORDER)]
1697     HRESULT border([in] VARIANT v);
1698
1699     [propget, id(DISPID_IHTMLIMGELEMENT_BORDER)]
1700     HRESULT border([retval, out] VARIANT *p);
1701
1702     [propput, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
1703     HRESULT vspace([in] long v);
1704
1705     [propget, id(DISPID_IHTMLIMGELEMENT_VSPACE)]
1706     HRESULT vspace([retval, out] long *p);
1707
1708     [propput, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
1709     HRESULT hspace([in] long v);
1710
1711     [propget, id(DISPID_IHTMLIMGELEMENT_HSPACE)]
1712     HRESULT hspace([retval, out] long *p);
1713
1714     [propput, id(DISPID_IHTMLIMGELEMENT_ALT)]
1715     HRESULT alt([in] BSTR v);
1716
1717     [propget, id(DISPID_IHTMLIMGELEMENT_ALT)]
1718     HRESULT alt([retval, out] BSTR *p);
1719
1720     [propput, id(DISPID_IHTMLIMGELEMENT_SRC)]
1721     HRESULT src([in] BSTR v);
1722
1723     [propget, id(DISPID_IHTMLIMGELEMENT_SRC)]
1724     HRESULT src([retval, out] BSTR *p);
1725
1726     [propput, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
1727     HRESULT lowsrc([in] BSTR v);
1728
1729     [propget, id(DISPID_IHTMLIMGELEMENT_LOWSRC)]
1730     HRESULT lowsrc([retval, out] BSTR *p);
1731
1732     [propput, id(DISPID_IHTMLIMGELEMENT_VRML)]
1733     HRESULT vrml([in] BSTR v);
1734
1735     [propget, id(DISPID_IHTMLIMGELEMENT_VRML)]
1736     HRESULT vrml([retval, out] BSTR *p);
1737
1738     [propput, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
1739     HRESULT dynsrc([in] BSTR v);
1740
1741     [propget, id(DISPID_IHTMLIMGELEMENT_DYNSRC)]
1742     HRESULT dynsrc([retval, out] BSTR *p);
1743
1744     [propget, id(DISPID_IHTMLIMGELEMENT_READYSTATE)]
1745     HRESULT readyState([retval, out] BSTR *p);
1746
1747     [propget, id(DISPID_IHTMLIMGELEMENT_COMPLETE)]
1748     HRESULT complete([retval, out] VARIANT_BOOL *p);
1749
1750     [propput, id(DISPID_IHTMLIMGELEMENT_LOOP)]
1751     HRESULT loop([in] VARIANT v);
1752
1753     [propget, id(DISPID_IHTMLIMGELEMENT_LOOP)]
1754     HRESULT loop([retval, out] VARIANT *p);
1755
1756     [propput, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
1757     HRESULT align([in] BSTR v);
1758
1759     [propget, id(DISPID_IHTMLIMGELEMENT_ALIGN)]
1760     HRESULT align([retval, out] BSTR *p);
1761
1762     [propput, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
1763     HRESULT onload([in] VARIANT v);
1764
1765     [propget, id(DISPID_IHTMLIMGELEMENT_ONLOAD)]
1766     HRESULT onload([retval, out] VARIANT *p);
1767
1768     [propput, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
1769     HRESULT onerror([in] VARIANT v);
1770
1771     [propget, id(DISPID_IHTMLIMGELEMENT_ONERROR)]
1772     HRESULT onerror([retval, out] VARIANT *p);
1773
1774     [propput, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
1775     HRESULT onabort([in] VARIANT v);
1776
1777     [propget, id(DISPID_IHTMLIMGELEMENT_ONABORT)]
1778     HRESULT onabort([retval, out] VARIANT *p);
1779
1780     [propput, id(DISPID_IHTMLIMGELEMENT_NAME)]
1781     HRESULT name([in] BSTR v);
1782
1783     [propget, id(DISPID_IHTMLIMGELEMENT_NAME)]
1784     HRESULT name([retval, out] BSTR *p);
1785
1786     [propput, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
1787     HRESULT width([in] long v);
1788
1789     [propget, id(DISPID_IHTMLIMGELEMENT_WIDTH)]
1790     HRESULT width([retval, out] long *p);
1791
1792     [propput, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
1793     HRESULT height([in] long v);
1794
1795     [propget, id(DISPID_IHTMLIMGELEMENT_HEIGHT)]
1796     HRESULT height([retval, out] long *p);
1797
1798     [propput, id(DISPID_IHTMLIMGELEMENT_START)]
1799     HRESULT start([in] BSTR v);
1800
1801     [propget, id(DISPID_IHTMLIMGELEMENT_START)]
1802     HRESULT start([retval, out] BSTR *p);
1803 }
1804
1805 /*****************************************************************************
1806  *    IHTMLImageElementFactory interface
1807  */
1808 [
1809     odl,
1810     oleautomation,
1811     dual,
1812     uuid(3050F38E-98B5-11CF-BB82-00AAA0BDCE0B)
1813 ]
1814 interface IHTMLImageElementFactory : IDispatch
1815 {
1816     [id(DISPID_IHTMLIMAGEELEMENTFACTORY_CREATE)]
1817     HRESULT create(
1818         [optional, in] VARIANT width,
1819         [optional, in] VARIANT height,
1820         [retval, out]  IHTMLImgElement **elem);
1821 }
1822
1823 /*****************************************************************************
1824  *    IHTMLElementCollection interface
1825  */
1826 [
1827     odl,
1828     oleautomation,
1829     dual,
1830     uuid(3050F21F-98B5-11CF-BB82-00AA00BDCE0B)
1831 ]
1832 interface IHTMLElementCollection : IDispatch
1833 {
1834     [id(DISPID_IHTMLELEMENTCOLLECTION_TOSTRING)]
1835     HRESULT toString([retval, out] BSTR *String);
1836
1837     [propput, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
1838     HRESULT length([in] long v);
1839
1840     [propget, id(DISPID_IHTMLELEMENTCOLLECTION_LENGTH)]
1841     HRESULT length([retval, out] long *p);
1842
1843     [propget, id(DISPID_IHTMLELEMENTCOLLECTION__NEWENUM)]
1844     HRESULT _newEnum([retval, out] IUnknown **p);
1845
1846     [id(DISPID_IHTMLELEMENTCOLLECTION_ITEM)]
1847     HRESULT item(
1848         [optional, in] VARIANT name,
1849         [optional, in] VARIANT index,
1850         [retval,  out] IDispatch **pdisp);
1851
1852     [id(DISPID_IHTMLELEMENTCOLLECTION_TAGS)]
1853     HRESULT tags(
1854         [in] VARIANT tagName,
1855         [retval, out] IDispatch **pdisp);
1856 }
1857
1858 /*****************************************************************************
1859  *    IHTMLSelectionObject interface
1860  */
1861 [
1862     odl,
1863     oleautomation,
1864     dual,
1865     uuid(3050F25A-98B5-11CF-BB82-00AA00BDCE0B)
1866 ]
1867 interface IHTMLSelectionObject : IDispatch
1868 {
1869     [id(DISPID_IHTMLSELECTIONOBJECT_CREATERANGE)]
1870     HRESULT createRange([retval, out] IDispatch **range);
1871
1872     [id(DISPID_IHTMLSELECTIONOBJECT_EMPTY)]
1873     HRESULT empty();
1874
1875     [id(DISPID_IHTMLSELECTIONOBJECT_CLEAR)]
1876     HRESULT clear();
1877
1878     [propget, id(DISPID_IHTMLSELECTIONOBJECT_TYPE)]
1879     HRESULT type([retval, out] BSTR *p);
1880 }
1881
1882 /*****************************************************************************
1883  *    IHTMLOptionElement interface
1884  */
1885 [
1886     odl,
1887     oleautomation,
1888     dual,
1889     uuid(3050F211-98B5-11CF-BB82-00AA00BDCE0B)
1890 ]
1891 interface IHTMLOptionElement : IDispatch
1892 {
1893     [propput, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
1894     HRESULT selected([in] VARIANT_BOOL v);
1895
1896     [propget, id(DISPID_IHTMLOPTIONELEMENT_SELECTED)]
1897     HRESULT selected([retval, out] VARIANT_BOOL *p);
1898
1899     [propput, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
1900     HRESULT value([in] BSTR v);
1901
1902     [propget, id(DISPID_IHTMLOPTIONELEMENT_VALUE)]
1903     HRESULT value([retval, out] BSTR *p);
1904
1905     [propput, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
1906     HRESULT defaultSelected([in] VARIANT_BOOL v);
1907
1908     [propget, id(DISPID_IHTMLOPTIONELEMENT_DEFAULTSELECTED)]
1909     HRESULT defaultSelected([retval, out] VARIANT_BOOL *p);
1910
1911     [propput, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
1912     HRESULT index([in] LONG v);
1913
1914     [propget, id(DISPID_IHTMLOPTIONELEMENT_INDEX)]
1915     HRESULT index([retval, out] LONG *p);
1916
1917     [propput, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
1918     HRESULT text([in] BSTR v);
1919
1920     [propget, id(DISPID_IHTMLOPTIONELEMENT_TEXT)]
1921     HRESULT text([retval, out] BSTR *p);
1922
1923     [propget, id(DISPID_IHTMLOPTIONELEMENT_FORM)]
1924     HRESULT form([retval, out] IHTMLFormElement **p);
1925 }
1926
1927 /*****************************************************************************
1928  *    IHTMLOptionElementFactory interface
1929  */
1930 [
1931     odl,
1932     oleautomation,
1933     dual,
1934     uuid(3050F38C-98B5-11Cf-BB82-00AA00BDCE0B)
1935 ]
1936 interface IHTMLOptionElementFactory : IDispatch
1937 {
1938     [id(DISPID_IHTMLOPTIONELEMENTFACTORY_CREATE)]
1939     HRESULT create(
1940         [optional, in] VARIANT text,
1941         [optional, in] VARIANT value,
1942         [optional, in] VARIANT defaultselected,
1943         [optional, in] VARIANT selected,
1944         [retval, out] IHTMLOptionElement **optelem);
1945 }
1946
1947 /*****************************************************************************
1948  *    IOmHistory interface
1949  */
1950 [
1951     odl,
1952     oleautomation,
1953     dual,
1954     uuid(FECEAAA2-8405-11CF-8BA1-00AA00476DA6)
1955 ]
1956 interface IOmHistory : IDispatch
1957 {
1958     [propget, id(DISPID_IOMHISTORY_LENGTH)]
1959     HRESULT length([retval, out] short *p);
1960
1961     [id(DISPID_IOMHISTORY_BACK)]
1962     HRESULT back([optional, in] VARIANT *pvargdistance);
1963
1964     [id(DISPID_IOMHISTORY_FORWARD)]
1965     HRESULT forward([optional, in] VARIANT *pvargdistance);
1966
1967     [id(DISPID_IOMHISTORY_GO)]
1968     HRESULT go([optional, in] VARIANT *pvargdistance);
1969 }
1970
1971 /*****************************************************************************
1972  *    IHTMLMimeTypesCollection interface
1973  */
1974 [
1975     odl,
1976     oleautomation,
1977     dual,
1978     uuid(3050F3FC-98B5-11CF-BB82-00AA00BDCE0B)
1979 ]
1980 interface IHTMLMimeTypesCollection : IDispatch
1981 {
1982     [propget, id(DISPID_IHTMLMIMETYPESCOLLECTION_LENGTH)]
1983     HRESULT length([retval, out] long *p);
1984 }
1985
1986 /*****************************************************************************
1987  *    IHTMLPluginsCollection interface
1988  */
1989 [
1990     odl,
1991     oleautomation,
1992     dual,
1993     uuid(3050F3FD-98B5-11CF-BB82-00AA00BDCE0B)
1994 ]
1995 interface IHTMLPluginsCollection : IDispatch
1996 {
1997     [propget, id(DISPID_IHTMLPLUGINSCOLLECTION_LENGTH)]
1998     HRESULT length([retval, out] long *p);
1999
2000     [id(DISPID_IHTMLPLUGINSCOLLECTION_REFRESH)]
2001     HRESULT refresh([defaultvalue(0), in] VARIANT_BOOL reload);
2002 }
2003
2004 /*****************************************************************************
2005  *    IHTMLOpsProfile interface
2006  */
2007 [
2008     odl,
2009     oleautomation,
2010     dual,
2011     uuid(3050F401-98B5-11CF-BB82-00AA00BDCE0B)
2012 ]
2013 interface IHTMLOpsProfile : IDispatch
2014 {
2015     [id(DISPID_IHTMLOPSPROFILE_ADDREQUEST)]
2016     HRESULT addRequest(
2017         [in] BSTR name,
2018         [optional, in] VARIANT reserved,
2019         [retval, out] VARIANT_BOOL *success);
2020
2021     [id(DISPID_IHTMLOPSPROFILE_CLEARREQUEST)]
2022     HRESULT clearRequest();
2023
2024     [id(DISPID_IHTMLOPSPROFILE_DOREQUEST)]
2025     HRESULT doRequest(
2026         [in] VARIANT usage,
2027         [optional, in] VARIANT fname,
2028         [optional, in] VARIANT domain,
2029         [optional, in] VARIANT path,
2030         [optional, in] VARIANT expire,
2031         [optional, in] VARIANT reserved);
2032
2033     [id(DISPID_IHTMLOPSPROFILE_GETATTRIBUTE)]
2034     HRESULT getAttribute(
2035         [in] BSTR name,
2036         [retval, out] BSTR *value);
2037
2038     [id(DISPID_IHTMLOPSPROFILE_SETATTRIBUTE)]
2039     HRESULT setAttribute(
2040         [in] BSTR name,
2041         [in] BSTR value,
2042         [optional, in] VARIANT prefs,
2043         [retval, out] VARIANT_BOOL *success);
2044
2045     [id(DISPID_IHTMLOPSPROFILE_COMMITCHANGES)]
2046     HRESULT commitChanges([retval, out] VARIANT_BOOL *success);
2047
2048     [id(DISPID_IHTMLOPSPROFILE_ADDREADREQUEST)]
2049     HRESULT addReadRequest(
2050         [in] BSTR name,
2051         [optional, in] VARIANT reserved,
2052         [retval, out] VARIANT_BOOL *success);
2053
2054     [id(DISPID_IHTMLOPSPROFILE_DOREADREQUEST)]
2055     HRESULT doReadRequest(
2056         [in] VARIANT usage,
2057         [optional, in] VARIANT fname,
2058         [optional, in] VARIANT domain,
2059         [optional, in] VARIANT path,
2060         [optional, in] VARIANT expire,
2061         [optional, in] VARIANT reserved);
2062
2063     [id(DISPID_IHTMLOPSPROFILE_DOWRITEREQUEST)]
2064     HRESULT doWriteRequest([retval, out] VARIANT_BOOL *success);
2065 }
2066
2067 /*****************************************************************************
2068  *    IOmNavigator interface
2069  */
2070 [
2071         odl,
2072         oleautomation,
2073         dual,
2074         uuid(FECEAAA5-8405-11CF-8BA1-00AA00476DA6)
2075 ]
2076 interface IOmNavigator : IDispatch
2077 {
2078     [propget, id(DISPID_IOMNAVIGATOR_APPCODENAME)]
2079     HRESULT appCodeName([retval, out] BSTR *p);
2080
2081     [propget, id(DISPID_IOMNAVIGATOR_APPNAME)]
2082     HRESULT appName([retval, out] BSTR *p);
2083
2084     [propget, id(DISPID_IOMNAVIGATOR_APPVERSION)]
2085     HRESULT appVersion([retval, out] BSTR *p);
2086
2087     [propget, id(DISPID_IOMNAVIGATOR_USERAGENT)]
2088     HRESULT userAgent([retval, out] BSTR *p);
2089
2090     [id(DISPID_IOMNAVIGATOR_JAVAENABLED)]
2091     HRESULT javaEnabled([retval, out] VARIANT_BOOL *enabled);
2092
2093     [id(DISPID_IOMNAVIGATOR_TAINTENABLED)]
2094     HRESULT taintEnabled([retval, out] VARIANT_BOOL *enabled);
2095
2096     [propget, id(DISPID_IOMNAVIGATOR_MIMETYPES)]
2097     HRESULT mimeTypes([retval, out] IHTMLMimeTypesCollection **p);
2098
2099     [propget, id(DISPID_IOMNAVIGATOR_PLUGINS)]
2100     HRESULT plugins([retval, out] IHTMLPluginsCollection **p);
2101
2102     [propget, id(DISPID_IOMNAVIGATOR_COOKIEENABLED)]
2103     HRESULT cookieEnabled([retval, out] VARIANT_BOOL *p);
2104
2105     [propget, id(DISPID_IOMNAVIGATOR_OPSPROFILE)]
2106     HRESULT opsProfile([retval, out] IHTMLOpsProfile **p);
2107
2108     [id(DISPID_IOMNAVIGATOR_TOSTRING)]
2109     HRESULT toString([retval, out] BSTR *String);
2110
2111     [propget, id(DISPID_IOMNAVIGATOR_CPUCLASS)]
2112     HRESULT cpuClass([retval, out] BSTR *p);
2113
2114     [propget, id(DISPID_IOMNAVIGATOR_SYSTEMLANGUAGE)]
2115     HRESULT systemLanguage([retval, out] BSTR *p);
2116
2117     [propget, id(DISPID_IOMNAVIGATOR_BROWSERLANGUAGE)]
2118     HRESULT browserLanguage([retval, out] BSTR *p);
2119
2120     [propget, id(DISPID_IOMNAVIGATOR_USERLANGUAGE)]
2121     HRESULT userLanguage([retval, out] BSTR *p);
2122
2123     [propget, id(DISPID_IOMNAVIGATOR_PLATFORM)]
2124     HRESULT platform([retval, out] BSTR *p);
2125
2126     [propget, id(DISPID_IOMNAVIGATOR_APPMINORVERSION)]
2127     HRESULT appMinorVersion([retval, out] BSTR *p);
2128
2129     [propget, id(DISPID_IOMNAVIGATOR_CONNECTIONSPEED)]
2130     HRESULT connectionSpeed([retval, out] long *p);
2131
2132     [propget, id(DISPID_IOMNAVIGATOR_ONLINE)]
2133     HRESULT onLine([retval, out] VARIANT_BOOL *p);
2134
2135     [propget, id(DISPID_IOMNAVIGATOR_USERPROFILE)]
2136     HRESULT userProfile([retval, out] IHTMLOpsProfile **p);
2137 }
2138
2139 /*****************************************************************************
2140  *    IHTMLLocation interface
2141  */
2142 [
2143     odl,
2144     oleautomation,
2145     dual,
2146     uuid(163BB1E0-6E00-11cf-837A-48DC04C10000)
2147 ]
2148 interface IHTMLLocation : IDispatch
2149 {
2150     [propput, id(DISPID_IHTMLLOCATION_HREF)]
2151     HRESULT href([in] BSTR v);
2152
2153     [propget, id(DISPID_IHTMLLOCATION_HREF)]
2154     HRESULT href([retval, out] BSTR *p);
2155
2156     [propput, id(DISPID_IHTMLLOCATION_PROTOCOL)]
2157     HRESULT protocol([in] BSTR v);
2158
2159     [propget, id(DISPID_IHTMLLOCATION_PROTOCOL)]
2160     HRESULT protocol([retval, out] BSTR *p);
2161
2162     [propput, id(DISPID_IHTMLLOCATION_HOST)]
2163     HRESULT host([in] BSTR v);
2164
2165     [propget, id(DISPID_IHTMLLOCATION_HOST)]
2166     HRESULT host([retval, out] BSTR *p);
2167
2168     [propput, id(DISPID_IHTMLLOCATION_HOSTNAME)]
2169     HRESULT hostname([in] BSTR v);
2170
2171     [propget, id(DISPID_IHTMLLOCATION_HOSTNAME)]
2172     HRESULT hostname([retval, out] BSTR *p);
2173
2174     [propput, id(DISPID_IHTMLLOCATION_PORT)]
2175     HRESULT port([in] BSTR v);
2176
2177     [propget, id(DISPID_IHTMLLOCATION_PORT)]
2178     HRESULT port([retval, out] BSTR *p);
2179
2180     [propput, id(DISPID_IHTMLLOCATION_PATHNAME)]
2181     HRESULT pathname([in] BSTR v);
2182
2183     [propget, id(DISPID_IHTMLLOCATION_PATHNAME)]
2184     HRESULT pathname([retval, out] BSTR *p);
2185
2186     [propput, id(DISPID_IHTMLLOCATION_SEARCH)]
2187     HRESULT search([in] BSTR v);
2188
2189     [propget, id(DISPID_IHTMLLOCATION_SEARCH)]
2190     HRESULT search([retval, out] BSTR *p);
2191
2192     [propput, id(DISPID_IHTMLLOCATION_HASH)]
2193     HRESULT hash([in] BSTR v);
2194
2195     [propget, id(DISPID_IHTMLLOCATION_HASH)]
2196     HRESULT hash([retval, out] BSTR *p);
2197
2198     [id(DISPID_IHTMLLOCATION_RELOAD)]
2199     HRESULT reload([defaultvalue(0), in] VARIANT_BOOL flag);
2200
2201     [id(DISPID_IHTMLLOCATION_REPLACE)]
2202     HRESULT replace([in] BSTR bstr);
2203
2204     [id(DISPID_IHTMLLOCATION_ASSIGN)]
2205     HRESULT assign([in] BSTR bstr);
2206
2207     [id(DISPID_IHTMLLOCATION_TOSTRING)]
2208     HRESULT toString([retval, out] BSTR *String);
2209 }
2210
2211 /*****************************************************************************
2212  *    IHTMLEventObj interface
2213  */
2214 [
2215     odl,
2216     oleautomation,
2217     dual,
2218     uuid(3050F32D-98B5-11CF-BB82-00AA00BDCE0B)
2219 ]
2220 interface IHTMLEventObj : IDispatch
2221 {
2222     [propget, id(DISPID_IHTMLEVENTOBJ_SRCELEMENT)]
2223     HRESULT srcElement([retval, out] IHTMLElement **p);
2224
2225     [propget, id(DISPID_IHTMLEVENTOBJ_ALTKEY)]
2226     HRESULT altKey([retval, out] VARIANT_BOOL *p);
2227
2228     [propget, id(DISPID_IHTMLEVENTOBJ_CTRLKEY)]
2229     HRESULT ctrlKey([retval, out] VARIANT_BOOL *p);
2230
2231     [propget, id(DISPID_IHTMLEVENTOBJ_SHIFTKEY)]
2232     HRESULT shiftKey([retval, out] VARIANT_BOOL *p);
2233
2234     [propput, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
2235     HRESULT returnValue([in] VARIANT v);
2236
2237     [propget, id(DISPID_IHTMLEVENTOBJ_RETURNVALUE)]
2238     HRESULT returnValue([retval, out] VARIANT *p);
2239
2240     [propput, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
2241     HRESULT cancelBubble([in] VARIANT_BOOL v);
2242
2243     [propget, id(DISPID_IHTMLEVENTOBJ_CANCELBUBBLE)]
2244     HRESULT cancelBubble([retval, out] VARIANT_BOOL *p);
2245
2246     [propget, id(DISPID_IHTMLEVENTOBJ_FROMELEMENT)]
2247     HRESULT fromElement([retval, out] IHTMLElement **p);
2248
2249     [propget, id(DISPID_IHTMLEVENTOBJ_TOELEMENT)]
2250     HRESULT toElement([retval, out] IHTMLElement **p);
2251
2252     [propput, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
2253     HRESULT keyCode([in] long v);
2254
2255     [propget, id(DISPID_IHTMLEVENTOBJ_KEYCODE)]
2256     HRESULT keyCode([retval, out] long *p);
2257
2258     [propget, id(DISPID_IHTMLEVENTOBJ_BUTTON)]
2259     HRESULT button([retval, out] long *p);
2260
2261     [propget, id(DISPID_IHTMLEVENTOBJ_TYPE)]
2262     HRESULT type([retval, out] BSTR *p);
2263
2264     [propget, id(DISPID_IHTMLEVENTOBJ_QUALIFIER)]
2265     HRESULT qualifier([retval, out] BSTR *p);
2266
2267     [propget, id(DISPID_IHTMLEVENTOBJ_REASON)]
2268     HRESULT reason([retval, out] long *p);
2269
2270     [propget, id(DISPID_IHTMLEVENTOBJ_X)]
2271     HRESULT x([retval, out] long *p);
2272
2273     [propget, id(DISPID_IHTMLEVENTOBJ_Y)]
2274     HRESULT y([retval, out] long *p);
2275
2276     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTX)]
2277     HRESULT clientX([retval, out] long *p);
2278
2279     [propget, id(DISPID_IHTMLEVENTOBJ_CLIENTY)]
2280     HRESULT clientY([retval, out] long *p);
2281
2282     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETX)]
2283     HRESULT offsetX([retval, out] long *p);
2284
2285     [propget, id(DISPID_IHTMLEVENTOBJ_OFFSETY)]
2286     HRESULT offsetY([retval, out] long *p);
2287
2288     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENX)]
2289     HRESULT screenX([retval, out] long *p);
2290
2291     [propget, id(DISPID_IHTMLEVENTOBJ_SCREENY)]
2292     HRESULT screenY([retval, out] long *p);
2293
2294     [propget, id(DISPID_IHTMLEVENTOBJ_SRCFILTER)]
2295     HRESULT srcFilter([retval, out] IDispatch **p);
2296 }
2297
2298 /*****************************************************************************
2299  *    IHTMLFramesCollection2 interface
2300  */
2301 [
2302     odl,
2303     oleautomation,
2304     dual,
2305     uuid(332C4426-26CB-11D0-B483-00C04FD90119)
2306 ]
2307 interface IHTMLFramesCollection2 : IDispatch
2308 {
2309     [id(DISPID_IHTMLFRAMESCOLLECTION2_ITEM)]
2310     HRESULT item(
2311         [in] VARIANT *pvarIndex,
2312         [retval, out] VARIANT *pvarResult);
2313
2314     [propget, id(DISPID_IHTMLFRAMESCOLLECTION2_LENGTH)]
2315     HRESULT length([retval, out] long *p);
2316 }
2317
2318 /*****************************************************************************
2319  *    IHTMLScreen interface
2320  */
2321 [
2322     odl,
2323     oleautomation,
2324     dual,
2325     uuid(3050f35C-98B5-11CF-BB82-00AA00BDCE0B)
2326 ]
2327 interface IHTMLScreen : IDispatch
2328 {
2329     [propget, id(DISPID_IHTMLSCREEN_COLORDEPTH)]
2330     HRESULT colorDepth([retval, out] long *p);
2331
2332     [propput, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
2333     HRESULT bufferDepth([in] long v);
2334
2335     [propget, id(DISPID_IHTMLSCREEN_BUFFERDEPTH)]
2336     HRESULT bufferDepth([retval, out] long *p);
2337
2338     [propget, id(DISPID_IHTMLSCREEN_WIDTH)]
2339     HRESULT width([retval, out] long *p);
2340
2341     [propget, id(DISPID_IHTMLSCREEN_HEIGHT)]
2342     HRESULT height([retval, out] long *p);
2343
2344     [propput, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
2345     HRESULT updateInterval([in] long v);
2346
2347     [propget, id(DISPID_IHTMLSCREEN_UPDATEINTERVAL)]
2348     HRESULT updateInterval([retval, out] long *p);
2349
2350     [propget, id(DISPID_IHTMLSCREEN_AVAILHEIGHT)]
2351     HRESULT availHeight([retval, out] long *p);
2352
2353     [propget, id(DISPID_IHTMLSCREEN_AVAILWIDTH)]
2354     HRESULT availWidth([retval, out] long *p);
2355
2356     [propget, id(DISPID_IHTMLSCREEN_FONTSMOOTHINGENABLED)]
2357     HRESULT fontSmoothingEnabled([retval, out] VARIANT_BOOL *p);
2358 }
2359
2360 /*****************************************************************************
2361  *    IHTMLWindow2 interface
2362  */
2363 [
2364     odl,
2365     oleautomation,
2366     dual,
2367     uuid(332C4427-26CB-11D0-B483-00C04FD90119)
2368 ]
2369 interface IHTMLWindow2 : IHTMLFramesCollection2
2370 {
2371     [propget, id(DISPID_IHTMLWINDOW2_FRAMES)]
2372     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
2373
2374     [propput, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
2375     HRESULT defaultStatus([in] BSTR v);
2376
2377     [propget, id(DISPID_IHTMLWINDOW2_DEFAULTSTATUS)]
2378     HRESULT defaultStatus([retval, out] BSTR *p);
2379
2380     [propput, id(DISPID_IHTMLWINDOW2_STATUS)]
2381     HRESULT status([in] BSTR v);
2382
2383     [propget, id(DISPID_IHTMLWINDOW2_STATUS)]
2384     HRESULT status([retval, out] BSTR *p);
2385
2386     [id(DISPID_IHTMLWINDOW2_SETTIMEOUT)]
2387     HRESULT setTimeout(
2388         [in] BSTR expression,
2389         [in] long msec,
2390         [optional, in] VARIANT *language,
2391         [retval, out] long *timerID);
2392
2393     [id(DISPID_IHTMLWINDOW2_CLEARTIMEOUT)]
2394     HRESULT clearTimeout([in] long timerID);
2395
2396     [id(DISPID_IHTMLWINDOW2_ALERT)]
2397     HRESULT alert([defaultvalue(""), in] BSTR message);
2398
2399     [id(DISPID_IHTMLWINDOW2_CONFIRM)]
2400     HRESULT confirm(
2401         [defaultvalue(""), in] BSTR message,
2402         [retval, out] VARIANT_BOOL *confirmed);
2403
2404     [id(DISPID_IHTMLWINDOW2_PROMPT)]
2405     HRESULT prompt(
2406         [defaultvalue(""), in] BSTR message,
2407         [defaultvalue("undefined"), in] BSTR defstr,
2408         [retval, out] VARIANT *textdata);
2409
2410     [propget, id(DISPID_IHTMLWINDOW2_IMAGE)]
2411     HRESULT Image([retval, out] IHTMLImageElementFactory **p);
2412
2413     [propget, id(DISPID_IHTMLWINDOW2_LOCATION)]
2414     HRESULT location([retval, out] IHTMLLocation **p);
2415
2416     [propget, id(DISPID_IHTMLWINDOW2_HISTORY)]
2417     HRESULT history([retval, out] IOmHistory **p);
2418
2419     [id(DISPID_IHTMLWINDOW2_CLOSE)]
2420     HRESULT close();
2421
2422     [propput, id(DISPID_IHTMLWINDOW2_OPENER)]
2423     HRESULT opener([in] VARIANT v);
2424
2425     [propget, id(DISPID_IHTMLWINDOW2_OPENER)]
2426     HRESULT opener([retval, out] VARIANT *p);
2427
2428     [propget, id(DISPID_IHTMLWINDOW2_NAVIGATOR)]
2429     HRESULT navigator([retval, out] IOmNavigator **p);
2430
2431     [propput, id(DISPID_IHTMLWINDOW2_NAME)]
2432     HRESULT name([in] BSTR v);
2433
2434     [propget, id(DISPID_IHTMLWINDOW2_NAME)]
2435     HRESULT name([retval, out] BSTR *p);
2436
2437     [propget, id(DISPID_IHTMLWINDOW2_PARENT)]
2438     HRESULT parent([retval, out] IHTMLWindow2 **p);
2439
2440     [id(DISPID_IHTMLWINDOW2_OPEN)]
2441     HRESULT open(
2442         [defaultvalue(""), in] BSTR url,
2443         [defaultvalue(""), in] BSTR name,
2444         [defaultvalue(""), in] BSTR features,
2445         [defaultvalue(0), in] VARIANT_BOOL replace,
2446         [retval, out] IHTMLWindow2 **pomWindowResult);
2447
2448     [propget, id(DISPID_IHTMLWINDOW2_SELF)]
2449     HRESULT self([retval, out] IHTMLWindow2 **p);
2450
2451     [propget, id(DISPID_IHTMLWINDOW2_TOP)]
2452     HRESULT top([retval, out] IHTMLWindow2 **p);
2453
2454     [propget, id(DISPID_IHTMLWINDOW2_WINDOW)]
2455     HRESULT window([retval, out] IHTMLWindow2 **p);
2456
2457     [id(DISPID_IHTMLWINDOW2_NAVIGATE)]
2458     HRESULT navigate([in] BSTR url);
2459
2460     [propput, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
2461     HRESULT onfocus([in] VARIANT v);
2462
2463     [propget, id(DISPID_IHTMLWINDOW2_ONFOCUS)]
2464     HRESULT onfocus([retval, out] VARIANT *p);
2465
2466     [propput, id(DISPID_IHTMLWINDOW2_ONBLUR)]
2467     HRESULT onblur([in] VARIANT v);
2468
2469     [propget, id(DISPID_IHTMLWINDOW2_ONBLUR)]
2470     HRESULT onblur([retval, out] VARIANT *p);
2471
2472     [propput, id(DISPID_IHTMLWINDOW2_ONLOAD)]
2473     HRESULT onload([in] VARIANT v);
2474
2475     [propget, id(DISPID_IHTMLWINDOW2_ONLOAD)]
2476     HRESULT onload([retval, out] VARIANT *p);
2477
2478     [propput, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
2479     HRESULT onbeforeunload([in] VARIANT v);
2480
2481     [propget, id(DISPID_IHTMLWINDOW2_ONBEFOREUNLOAD)]
2482     HRESULT onbeforeunload([retval, out] VARIANT *p);
2483
2484     [propput, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
2485     HRESULT onunload([in] VARIANT v);
2486
2487     [propget, id(DISPID_IHTMLWINDOW2_ONUNLOAD)]
2488     HRESULT onunload([retval, out] VARIANT *p);
2489
2490     [propput, id(DISPID_IHTMLWINDOW2_ONHELP)]
2491     HRESULT onhelp([in] VARIANT v);
2492
2493     [propget, id(DISPID_IHTMLWINDOW2_ONHELP)]
2494     HRESULT onhelp([retval, out] VARIANT *p);
2495
2496     [propput, id(DISPID_IHTMLWINDOW2_ONERROR)]
2497     HRESULT onerror([in] VARIANT v);
2498
2499     [propget, id(DISPID_IHTMLWINDOW2_ONERROR)]
2500     HRESULT onerror([retval, out] VARIANT *p);
2501
2502     [propput, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
2503     HRESULT onresize([in] VARIANT v);
2504
2505     [propget, id(DISPID_IHTMLWINDOW2_ONRESIZE)]
2506     HRESULT onresize([retval, out] VARIANT *p);
2507
2508     [propput, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
2509     HRESULT onscroll([in] VARIANT v);
2510
2511     [propget, id(DISPID_IHTMLWINDOW2_ONSCROLL)]
2512     HRESULT onscroll([retval, out] VARIANT *p);
2513
2514     [propget, id(DISPID_IHTMLWINDOW2_DOCUMENT)]
2515     HRESULT document([retval, out] IHTMLDocument2 **p);
2516
2517     [propget, id(DISPID_IHTMLWINDOW2_EVENT)]
2518     HRESULT event([retval, out] IHTMLEventObj **p);
2519
2520     [propget, id(DISPID_IHTMLWINDOW2__NEWENUM)]
2521     HRESULT _newEnum([retval, out] IUnknown **p);
2522
2523     [id(DISPID_IHTMLWINDOW2_SHOWMODALDIALOG)]
2524     HRESULT showModalDialog(
2525         [in] BSTR dialog,
2526         [optional, in] VARIANT *varArgIn,
2527         [optional, in] VARIANT *varOptions,
2528         [retval, out] VARIANT *varArgOut);
2529
2530     [id(DISPID_IHTMLWINDOW2_SHOWHELP)]
2531     HRESULT showHelp(
2532         [in] BSTR helpURL,
2533         [optional, in] VARIANT helpArg,
2534         [defaultvalue(""), in] BSTR features);
2535
2536     [propget, id(DISPID_IHTMLWINDOW2_SCREEN)]
2537     HRESULT screen([retval, out] IHTMLScreen **p);
2538
2539     [propget, id(DISPID_IHTMLWINDOW2_OPTION)]
2540     HRESULT Option([retval, out] IHTMLOptionElementFactory **p);
2541
2542     [id(DISPID_IHTMLWINDOW2_FOCUS)]
2543     HRESULT focus();
2544
2545     [propget, id(DISPID_IHTMLWINDOW2_CLOSED)]
2546     HRESULT closed([retval, out] VARIANT_BOOL *p);
2547
2548     [id(DISPID_IHTMLWINDOW2_BLUR)]
2549     HRESULT blur();
2550
2551     [id(DISPID_IHTMLWINDOW2_SCROLL)]
2552     HRESULT scroll([in] long x, [in] long y);
2553
2554     [propget, id(DISPID_IHTMLWINDOW2_CLIENTINFORMATION)]
2555     HRESULT clientInformation([retval, out] IOmNavigator **p);
2556
2557     [id(DISPID_IHTMLWINDOW2_SETINTERVAL)]
2558     HRESULT setInterval([
2559         in] BSTR expression,
2560         [in] long msec,
2561         [optional, in] VARIANT *language,
2562         [retval, out] long *timerID);
2563
2564     [id(DISPID_IHTMLWINDOW2_CLEARINTERVAL)]
2565     HRESULT clearInterval([in] long timerID);
2566
2567     [propput, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
2568     HRESULT offscreenBuffering([in] VARIANT v);
2569
2570     [propget, id(DISPID_IHTMLWINDOW2_OFFSCREENBUFFERING)]
2571     HRESULT offscreenBuffering([retval, out] VARIANT *p);
2572
2573     [id(DISPID_IHTMLWINDOW2_EXECSCRIPT)]
2574     HRESULT execScript(
2575         [in] BSTR scode,
2576         [defaultvalue("JScript"), in] BSTR language,
2577         [retval, out] VARIANT *pvarRet);
2578
2579     [id(DISPID_IHTMLWINDOW2_TOSTRING)]
2580     HRESULT toString([retval, out] BSTR *String);
2581
2582     [id(DISPID_IHTMLWINDOW2_SCROLLBY)]
2583     HRESULT scrollBy([in] long x, [in] long y);
2584
2585     [id(DISPID_IHTMLWINDOW2_SCROLLTO)]
2586     HRESULT scrollTo([in] long x, [in] long y);
2587
2588     [id(DISPID_IHTMLWINDOW2_MOVETO)]
2589     HRESULT moveTo([in] long x, [in] long y);
2590
2591     [id(DISPID_IHTMLWINDOW2_MOVEBY)]
2592     HRESULT moveBy([in] long x, [in] long y);
2593
2594     [id(DISPID_IHTMLWINDOW2_RESIZETO)]
2595     HRESULT resizeTo([in] long x, [in] long y);
2596
2597     [id(DISPID_IHTMLWINDOW2_RESIZEBY)]
2598     HRESULT resizeBy([in] long x, [in] long y);
2599
2600     [propget, id(DISPID_IHTMLWINDOW2_EXTERNAL)]
2601     HRESULT external([retval, out] IDispatch **p);
2602 }
2603
2604 /*****************************************************************************
2605  *    IHTMLDocument interface
2606  */
2607 [
2608     odl,
2609     oleautomation,
2610     dual,
2611     uuid(626FC520-A41E-11CF-A731-00A0C9082637)
2612 ]
2613 interface IHTMLDocument : IDispatch
2614 {
2615     [propget, id(DISPID_IHTMLDOCUMENT_SCRIPT)]
2616     HRESULT Script([retval, out] IDispatch **p);
2617 }
2618
2619 /*****************************************************************************
2620  *    IHTMLDocument2 interface
2621  */
2622 [
2623     odl,
2624     oleautomation,
2625     dual,
2626     uuid(332C4425-26CB-11D0-B483-00C04FD90119)
2627 ]
2628 interface IHTMLDocument2 : IHTMLDocument
2629 {
2630     [propget, id(DISPID_IHTMLDOCUMENT2_ALL)]
2631     HRESULT all([retval, out] IHTMLElementCollection **p);
2632
2633     [propget, id(DISPID_IHTMLDOCUMENT2_BODY)]
2634     HRESULT body([retval, out] IHTMLElement **p);
2635
2636     [propget, id(DISPID_IHTMLDOCUMENT2_ACTIVEELEMENT)]
2637     HRESULT activeElement([retval, out] IHTMLElement **p);
2638
2639     [propget, id(DISPID_IHTMLDOCUMENT2_IMAGES)]
2640     HRESULT images([retval, out] IHTMLElementCollection **p);
2641
2642     [propget, id(DISPID_IHTMLDOCUMENT2_APPLETS)]
2643     HRESULT applets([retval, out] IHTMLElementCollection **p);
2644
2645     [propget, id(DISPID_IHTMLDOCUMENT2_LINKS)]
2646     HRESULT links([retval, out] IHTMLElementCollection **p);
2647
2648     [propget, id(DISPID_IHTMLDOCUMENT2_FORMS)]
2649     HRESULT forms([retval, out] IHTMLElementCollection **p);
2650
2651     [propget, id(DISPID_IHTMLDOCUMENT2_ANCHORS)]
2652     HRESULT anchors([retval, out] IHTMLElementCollection **p);
2653
2654     [propput, id(DISPID_IHTMLDOCUMENT2_TITLE)]
2655     HRESULT title([in] BSTR v);
2656
2657     [propget, id(DISPID_IHTMLDOCUMENT2_TITLE)]
2658     HRESULT title([retval, out] BSTR *p);
2659
2660     [propget, id(DISPID_IHTMLDOCUMENT2_SCRIPTS)]
2661     HRESULT scripts([retval, out] IHTMLElementCollection **p);
2662
2663     [propput, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
2664     HRESULT designMode([in] BSTR v);
2665
2666     [propget, id(DISPID_IHTMLDOCUMENT2_DESIGNMODE)]
2667     HRESULT designMode([retval, out] BSTR *p);
2668
2669     [propget, id(DISPID_IHTMLDOCUMENT2_SELECTION)]
2670     HRESULT selection([retval, out] IHTMLSelectionObject **p);
2671
2672     [propget, id(DISPID_IHTMLDOCUMENT2_READYSTATE)]
2673      HRESULT readyState([retval, out] BSTR *p);
2674
2675     [propget, id(DISPID_IHTMLDOCUMENT2_FRAMES)]
2676     HRESULT frames([retval, out] IHTMLFramesCollection2 **p);
2677
2678     [propget, id(DISPID_IHTMLDOCUMENT2_EMBEDS)]
2679     HRESULT embeds([retval, out] IHTMLElementCollection **p);
2680
2681     [propget, id(DISPID_IHTMLDOCUMENT2_PLUGINS)]
2682     HRESULT plugins([retval, out] IHTMLElementCollection **p);
2683
2684     [propput, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
2685     HRESULT alinkColor([in] VARIANT v);
2686
2687     [propget, id(DISPID_IHTMLDOCUMENT2_ALINKCOLOR)]
2688     HRESULT alinkColor([retval, out] VARIANT *p);
2689
2690     [propput, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
2691     HRESULT bgColor([in] VARIANT v);
2692
2693     [propget, id(DISPID_IHTMLDOCUMENT2_BGCOLOR)]
2694     HRESULT bgColor([retval, out] VARIANT *p);
2695
2696     [propput, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
2697     HRESULT fgColor([in] VARIANT v);
2698
2699     [propget, id(DISPID_IHTMLDOCUMENT2_FGCOLOR)]
2700     HRESULT fgColor([retval, out] VARIANT *p);
2701
2702     [propput, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
2703     HRESULT linkColor([in] VARIANT v);
2704
2705     [propget, id(DISPID_IHTMLDOCUMENT2_LINKCOLOR)]
2706     HRESULT linkColor([retval, out] VARIANT *p);
2707
2708     [propput, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
2709     HRESULT vlinkColor([in] VARIANT v);
2710
2711     [propget, id(DISPID_IHTMLDOCUMENT2_VLINKCOLOR)]
2712     HRESULT vlinkColor([retval, out] VARIANT *p);
2713
2714     [propget, id(DISPID_IHTMLDOCUMENT2_REFERRER)]
2715     HRESULT referrer([retval, out] BSTR *p);
2716
2717     [propget, id(DISPID_IHTMLDOCUMENT2_LOCATION)]
2718     HRESULT location([retval, out] IHTMLLocation **p);
2719
2720     [propget, id(DISPID_IHTMLDOCUMENT2_LASTMODIFIED)]
2721     HRESULT lastModified([retval, out] BSTR *p);
2722
2723     [propput, id(DISPID_IHTMLDOCUMENT2_URL)]
2724     HRESULT URL([in] BSTR v);
2725
2726     [propget, id(DISPID_IHTMLDOCUMENT2_URL)]
2727     HRESULT URL([retval, out] BSTR *p);
2728
2729     [propput, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
2730     HRESULT domain([in] BSTR v);
2731
2732     [propget, id(DISPID_IHTMLDOCUMENT2_DOMAIN)]
2733     HRESULT domain([retval, out] BSTR *p);
2734
2735     [propput, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
2736     HRESULT cookie([in] BSTR v);
2737
2738     [propget, id(DISPID_IHTMLDOCUMENT2_COOKIE)]
2739     HRESULT cookie([retval, out] BSTR *p);
2740
2741     [propput, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
2742     HRESULT expando([in] VARIANT_BOOL v);
2743
2744     [propget, id(DISPID_IHTMLDOCUMENT2_EXPANDO)]
2745     HRESULT expando([retval, out] VARIANT_BOOL *p);
2746
2747     [propput, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
2748      HRESULT charset([in] BSTR v);
2749
2750     [propget, id(DISPID_IHTMLDOCUMENT2_CHARSET)]
2751     HRESULT charset([retval, out] BSTR *p);
2752
2753     [propput, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
2754     HRESULT defaultCharset([in] BSTR v);
2755
2756     [propget, id(DISPID_IHTMLDOCUMENT2_DEFAULTCHARSET)]
2757     HRESULT defaultCharset([retval, out] BSTR *p);
2758
2759     [propget, id(DISPID_IHTMLDOCUMENT2_MIMETYPE)]
2760     HRESULT mimeType([retval, out] BSTR *p);
2761
2762     [propget, id(DISPID_IHTMLDOCUMENT2_FILESIZE)]
2763     HRESULT fileSize([retval, out] BSTR *p);
2764
2765     [propget, id(DISPID_IHTMLDOCUMENT2_FILECREATEDDATE)]
2766     HRESULT fileCreatedDate([retval, out] BSTR *p);
2767
2768     [propget, id(DISPID_IHTMLDOCUMENT2_FILEMODIFIEDDATE)]
2769     HRESULT fileModifiedDate([retval, out] BSTR *p);
2770
2771     [propget, id(DISPID_IHTMLDOCUMENT2_FILEUPDATEDDATE)]
2772     HRESULT fileUpdatedDate([retval, out] BSTR *p);
2773
2774     [propget, id(DISPID_IHTMLDOCUMENT2_SECURITY)]
2775     HRESULT security([retval, out] BSTR *p);
2776
2777     [propget, id(DISPID_IHTMLDOCUMENT2_PROTOCOL)]
2778     HRESULT protocol([retval, out] BSTR *p);
2779
2780     [propget, id(DISPID_IHTMLDOCUMENT2_NAMEPROP)]
2781      HRESULT nameProp([retval, out] BSTR *p);
2782
2783     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITE)]
2784     HRESULT write([in] SAFEARRAY *psarray);
2785
2786     [vararg, id(DISPID_IHTMLDOCUMENT2_WRITELN)]
2787     HRESULT writeln([in] SAFEARRAY *psarray);
2788
2789     [id(DISPID_IHTMLDOCUMENT2_OPEN)]
2790     HRESULT open(
2791         [defaultvalue("text/html"), in] BSTR url,
2792         [optional, in] VARIANT name,
2793         [optional, in] VARIANT features,
2794         [optional, in] VARIANT replace,
2795         [retval, out]  IDispatch **pomWindowResult);
2796
2797     [id(DISPID_IHTMLDOCUMENT2_CLOSE)]
2798     HRESULT close();
2799
2800     [id(DISPID_IHTMLDOCUMENT2_CLEAR)]
2801     HRESULT clear();
2802
2803     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSUPPORTED)]
2804     HRESULT queryCommandSupported(
2805         [in] BSTR cmdID,
2806         [retval, out] VARIANT_BOOL *pfRet);
2807
2808     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDENABLED)]
2809     HRESULT queryCommandEnabled(
2810         [in] BSTR cmdID,
2811         [retval, out] VARIANT_BOOL *pfRet);
2812
2813     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDSTATE)]
2814     HRESULT queryCommandState(
2815         [in] BSTR cmdID,
2816         [retval, out] VARIANT_BOOL *pfRet);
2817
2818     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDINDETERM)]
2819     HRESULT queryCommandIndeterm(
2820         [in] BSTR cmdID,
2821         [retval, out] VARIANT_BOOL *pfRet);
2822
2823     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDTEXT)]
2824     HRESULT queryCommandText(
2825         [in] BSTR cmdID,
2826         [retval, out] BSTR *pcmdText);
2827
2828     [id(DISPID_IHTMLDOCUMENT2_QUERYCOMMANDVALUE)]
2829     HRESULT queryCommandValue(
2830         [in] BSTR cmdID,
2831         [retval, out] VARIANT *pcmdValue);
2832
2833     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMAND)]
2834     HRESULT execCommand(
2835         [in] BSTR cmdID,
2836         [defaultvalue(0), in] VARIANT_BOOL showUI,
2837         [optional, in] VARIANT value,
2838         [retval, out] VARIANT_BOOL *pfRet);
2839
2840     [id(DISPID_IHTMLDOCUMENT2_EXECCOMMANDSHOWHELP)]
2841     HRESULT execCommandShowHelp(
2842         [in] BSTR cmdID,
2843         [retval, out] VARIANT_BOOL *pfRet);
2844
2845     [id(DISPID_IHTMLDOCUMENT2_CREATEELEMENT)]
2846      HRESULT createElement(
2847         [in] BSTR eTag,
2848         [retval, out] IHTMLElement **newElem);
2849
2850     [propput, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
2851     HRESULT onhelp([in] VARIANT v);
2852
2853     [propget, id(DISPID_IHTMLDOCUMENT2_ONHELP)]
2854     HRESULT onhelp([retval, out] VARIANT *p);
2855
2856     [propput, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
2857     HRESULT onclick([in] VARIANT v);
2858
2859     [propget, id(DISPID_IHTMLDOCUMENT2_ONCLICK)]
2860     HRESULT onclick([retval, out] VARIANT *p);
2861
2862     [propput, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
2863     HRESULT ondblclick([in] VARIANT v);
2864
2865     [propget, id(DISPID_IHTMLDOCUMENT2_ONDBLCLICK)]
2866     HRESULT ondblclick([retval, out] VARIANT *p);
2867
2868     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
2869     HRESULT onkeyup([in] VARIANT v);
2870
2871     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYUP)]
2872     HRESULT onkeyup([retval, out] VARIANT *p);
2873
2874     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
2875     HRESULT onkeydown([in] VARIANT v);
2876
2877     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYDOWN)]
2878     HRESULT onkeydown([retval, out] VARIANT *p);
2879
2880     [propput, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
2881      HRESULT onkeypress([in] VARIANT v);
2882
2883     [propget, id(DISPID_IHTMLDOCUMENT2_ONKEYPRESS)]
2884     HRESULT onkeypress([retval, out] VARIANT *p);
2885
2886     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
2887     HRESULT onmouseup([in] VARIANT v);
2888
2889     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEUP)]
2890     HRESULT onmouseup([retval, out] VARIANT *p);
2891
2892     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
2893     HRESULT onmousedown([in] VARIANT v);
2894
2895     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEDOWN)]
2896     HRESULT onmousedown([retval, out] VARIANT *p);
2897
2898     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
2899     HRESULT onmousemove([in] VARIANT v);
2900
2901     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEMOVE)]
2902     HRESULT onmousemove([retval, out] VARIANT *p);
2903
2904     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
2905     HRESULT onmouseout([in] VARIANT v);
2906
2907     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOUT)]
2908     HRESULT onmouseout([retval, out] VARIANT *p);
2909
2910     [propput, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
2911     HRESULT onmouseover([in] VARIANT v);
2912
2913     [propget, id(DISPID_IHTMLDOCUMENT2_ONMOUSEOVER)]
2914     HRESULT onmouseover([retval, out] VARIANT *p);
2915
2916     [propput, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
2917     HRESULT onreadystatechange([in] VARIANT v);
2918
2919     [propget, id(DISPID_IHTMLDOCUMENT2_ONREADYSTATECHANGE)]
2920     HRESULT onreadystatechange([retval, out] VARIANT *p);
2921
2922     [propput, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
2923     HRESULT onafterupdate([in] VARIANT v);
2924
2925     [propget, id(DISPID_IHTMLDOCUMENT2_ONAFTERUPDATE)]
2926     HRESULT onafterupdate([retval, out] VARIANT *p);
2927
2928     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
2929     HRESULT onrowexit([in] VARIANT v);
2930
2931     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWEXIT)]
2932     HRESULT onrowexit([retval, out] VARIANT *p);
2933
2934     [propput, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
2935     HRESULT onrowenter([in] VARIANT v);
2936
2937     [propget, id(DISPID_IHTMLDOCUMENT2_ONROWENTER)]
2938     HRESULT onrowenter([retval, out] VARIANT *p);
2939
2940     [propput, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
2941     HRESULT ondragstart([in] VARIANT v);
2942
2943     [propget, id(DISPID_IHTMLDOCUMENT2_ONDRAGSTART)]
2944     HRESULT ondragstart([retval, out] VARIANT *p);
2945
2946     [propput, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
2947     HRESULT onselectstart([in] VARIANT v);
2948
2949     [propget, id(DISPID_IHTMLDOCUMENT2_ONSELECTSTART)]
2950     HRESULT onselectstart([retval, out] VARIANT *p);
2951
2952     [id(DISPID_IHTMLDOCUMENT2_ELEMENTFROMPOINT)]
2953     HRESULT elementFromPoint(
2954         [in] long x,
2955         [in] long y,
2956         [retval, out] IHTMLElement **elementHit);
2957
2958     [propget, id(DISPID_IHTMLDOCUMENT2_PARENTWINDOW)]
2959     HRESULT parentWindow([retval, out] IHTMLWindow2 **p);
2960
2961     [propget, id(DISPID_IHTMLDOCUMENT2_STYLESHEETS)]
2962     HRESULT styleSheets([retval, out] IHTMLStyleSheetsCollection **p);
2963
2964     [propput, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
2965     HRESULT onbeforeupdate([in] VARIANT v);
2966
2967     [propget, id(DISPID_IHTMLDOCUMENT2_ONBEFOREUPDATE)]
2968     HRESULT onbeforeupdate([retval, out] VARIANT *p);
2969
2970     [propput, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
2971     HRESULT onerrorupdate([in] VARIANT v);
2972
2973     [propget, id(DISPID_IHTMLDOCUMENT2_ONERRORUPDATE)]
2974     HRESULT onerrorupdate([retval, out] VARIANT *p);
2975
2976     [id(DISPID_IHTMLDOCUMENT2_TOSTRING)]
2977     HRESULT toString([retval, out] BSTR *String);
2978
2979     [id(DISPID_IHTMLDOCUMENT2_CREATESTYLESHEET)]
2980     HRESULT createStyleSheet(
2981         [defaultvalue(""), in] BSTR bstrHref,
2982         [defaultvalue(-1), in] long lIndex,
2983         [retval, out] IHTMLStyleSheet **ppnewStyleSheet);
2984 }
2985
2986 /*****************************************************************************
2987  *    HTMLDocument coclass
2988  */
2989 [
2990     uuid(25336920-03F9-11cf-8FD0-00AA00686F13)
2991 ]
2992 coclass HTMLDocument
2993 {
2994     [default]         interface IHTMLDocument2;
2995     [source, default] dispinterface HTMLDocumentEvents;
2996 };
2997
2998 } /* library MSHTML */