1 /**
2  * Windows API header module
3  *
4  * Translated from MinGW Windows headers
5  *
6  * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
7  * Source: $(DRUNTIMESRC core/sys/windows/_mshtml.d)
8  */
9 module core.sys.windows.mshtml;
10 version (Windows):
11 
12 import core.sys.windows.basetyps, core.sys.windows.oaidl, core.sys.windows.unknwn,
13   core.sys.windows.windef, core.sys.windows.wtypes;
14 
15 // These are used in this file, but not defined in MinGW.
16 interface IHTMLStyleSheet {}
17 alias IHTMLStyle LPHTMLSTYLE;
18 alias IHTMLStyleSheet LPHTMLSTYLESHEET;
19 interface IHTMLLocation {}
20 alias IHTMLLocation LPHTMLLOCATION;
21 interface IHTMLFramesCollection {}
22 alias IHTMLFramesCollection LPHTMLFRAMESCOLLECTION;
23 interface IHTMLStyleSheetsCollection {}
24 alias IHTMLStyleSheetsCollection LPHTMLSTYLESHEETSCOLLECTION;
25 interface IHTMLStyle {}
26 interface IHTMLFiltersCollection {}
27 alias IHTMLFiltersCollection LPHTMLFILTERSCOLLECTION;
28 interface IOmHistory : IDispatch {
29     HRESULT get_length(short* p);
30     HRESULT back(VARIANT*);
31     HRESULT forward(VARIANT*);
32     HRESULT go(VARIANT*);
33 }
34 alias IOmHistory LPOMHISTORY;
35 interface IOmNavigator {}
36 alias IOmNavigator LPOMNAVIGATOR;
37 interface IHTMLImageElementFactory {}
38 alias IHTMLImageElementFactory LPHTMLIMAGEELEMENTFACTORY;
39 interface IHTMLEventObj {}
40 alias IHTMLEventObj LPHTMLEVENTOBJ;
41 interface IHTMLScreen {}
42 alias IHTMLScreen LPHTMLSCREEN;
43 interface IHTMLOptionElementFactory {}
44 alias IHTMLOptionElementFactory LPHTMLOPTIONELEMENTFACTORY;
45 
46 interface IHTMLLinkElement : IDispatch {
47     HRESULT put_href(BSTR);
48     HRESULT get_href(BSTR*);
49     HRESULT put_rel(BSTR);
50     HRESULT get_rel(BSTR*);
51     HRESULT put_rev(BSTR);
52     HRESULT get_rev(BSTR*);
53     HRESULT put_type(BSTR);
54     HRESULT get_type(BSTR*);
55     HRESULT get_readyState(BSTR*);
56     HRESULT put_onreadystatechange(VARIANT);
57     HRESULT get_onreadystatechange(VARIANT*);
58     HRESULT put_onload(VARIANT);
59     HRESULT get_onload(VARIANT*);
60     HRESULT put_onerror(VARIANT);
61     HRESULT get_onerror(VARIANT*);
62     HRESULT get_styleSheet(LPHTMLSTYLESHEET*);
63     HRESULT put_disabled(VARIANT_BOOL);
64     HRESULT get_disabled(VARIANT_BOOL*);
65     HRESULT put_media(BSTR);
66     HRESULT get_media(BSTR*);
67 }
68 alias IHTMLLinkElement LPHTMLLINKELEMENT;
69 
70 interface IHTMLImgElement : IDispatch {
71     HRESULT put_isMap(VARIANT_BOOL);
72     HRESULT get_isMap(VARIANT_BOOL*);
73     HRESULT put_useMap(BSTR);
74     HRESULT get_useMap(BSTR*);
75     HRESULT get_mimeType(BSTR*);
76     HRESULT get_fileSize(BSTR*);
77     HRESULT get_fileCreatedDate(BSTR*);
78     HRESULT get_fileModifiedDate(BSTR*);
79     HRESULT get_fileUpdatedDate(BSTR*);
80     HRESULT get_protocol(BSTR*);
81     HRESULT get_href(BSTR*);
82     HRESULT get_nameProp(BSTR*);
83     HRESULT put_border(VARIANT);
84     HRESULT get_border(VARIANT*);
85     HRESULT put_vspace(LONG);
86     HRESULT get_vspace(LONG*);
87     HRESULT put_hspace(LONG);
88     HRESULT get_hspace(LONG*);
89     HRESULT put_alt(BSTR);
90     HRESULT get_alt(BSTR*);
91     HRESULT put_src(BSTR);
92     HRESULT get_src(BSTR*);
93     HRESULT put_lowsrc(BSTR);
94     HRESULT get_lowsrc(BSTR*);
95     HRESULT put_vrml(BSTR);
96     HRESULT get_vrml(BSTR*);
97     HRESULT put_dynsrc(BSTR);
98     HRESULT get_dynsrc(BSTR*);
99     HRESULT get_readyState(BSTR*);
100     HRESULT get_complete(VARIANT_BOOL*);
101     HRESULT put_loop(VARIANT);
102     HRESULT get_loop(VARIANT*);
103     HRESULT put_align(BSTR);
104     HRESULT get_align(BSTR*);
105     HRESULT put_onload(VARIANT);
106     HRESULT get_onload(VARIANT*);
107     HRESULT put_onerror(VARIANT);
108     HRESULT get_onerror(VARIANT*);
109     HRESULT put_onabort(VARIANT);
110     HRESULT get_onabort(VARIANT*);
111     HRESULT put_name(BSTR);
112     HRESULT get_name(BSTR*);
113     HRESULT put_width(LONG);
114     HRESULT get_width(LONG*);
115     HRESULT put_height(LONG);
116     HRESULT get_height(LONG*);
117     HRESULT put_start(BSTR);
118     HRESULT get_start(BSTR*);
119 }
120 alias IHTMLImgElement LPHTMLIMGELEMENT;
121 
122 interface IHTMLElementCollection : IDispatch {
123     HRESULT toString(BSTR*);
124     HRESULT put_length(LONG);
125     HRESULT get_length(LONG*);
126     HRESULT get__newEnum(IUnknown*);
127     HRESULT item(VARIANT,VARIANT,IDispatch* pDisp);
128     HRESULT tags(VARIANT,IDispatch* pdisp);
129 }
130 alias IHTMLElementCollection LPHTMLELEMENTCOLLECTION;
131 
132 interface IHTMLDocument : IDispatch {
133     HRESULT get_Script(IDispatch*);
134 }
135 
136 interface IHTMLDocument2 : IHTMLDocument {
137     HRESULT get_all(LPHTMLELEMENTCOLLECTION*);
138     HRESULT get_body(LPHTMLELEMENT*);
139     HRESULT get_activeElement(LPHTMLELEMENT*);
140     HRESULT get_images(LPHTMLELEMENTCOLLECTION*);
141     HRESULT get_applets(LPHTMLELEMENTCOLLECTION*);
142     HRESULT get_links(LPHTMLELEMENTCOLLECTION*);
143     HRESULT get_forms(LPHTMLELEMENTCOLLECTION*);
144     HRESULT get_anchors(LPHTMLELEMENTCOLLECTION*);
145     HRESULT put_title(BSTR);
146     HRESULT get_title(BSTR*);
147     HRESULT get_scripts(LPHTMLELEMENTCOLLECTION*);
148     HRESULT put_designMode(BSTR);
149     HRESULT get_designMode(BSTR*);
150     HRESULT get_selection(LPHTMLSELECTIONOBJECT*);
151     HRESULT get_readyState(BSTR*);
152     HRESULT get_frames(IHTMLFramesCollection2*);
153     HRESULT get_embeds(LPHTMLELEMENTCOLLECTION*);
154     HRESULT get_plugins(LPHTMLELEMENTCOLLECTION*);
155     HRESULT put_alinkColor(VARIANT);
156     HRESULT get_alinkColor(VARIANT*);
157     HRESULT put_bgColor(VARIANT);
158     HRESULT get_bgColor(VARIANT*);
159     HRESULT put_fgColor(VARIANT);
160     HRESULT get_fgColor(VARIANT*);
161     HRESULT put_linkColor(VARIANT);
162     HRESULT get_linkColor(VARIANT*);
163     HRESULT put_vlinkColor(VARIANT);
164     HRESULT get_vlinkColor(VARIANT*);
165     HRESULT get_referrer(BSTR*);
166     HRESULT get_location(LPHTMLLOCATION*);
167     HRESULT get_lastModified(BSTR*);
168     HRESULT put_url(BSTR);
169     HRESULT get_url(BSTR*);
170     HRESULT put_domain(BSTR);
171     HRESULT get_domain(BSTR*);
172     HRESULT put_cookie(BSTR);
173     HRESULT get_cookie(BSTR*);
174     HRESULT put_expands(VARIANT_BOOL);
175     HRESULT get_expands(VARIANT_BOOL*);
176     HRESULT put_charset(BSTR);
177     HRESULT get_charset(BSTR*);
178     HRESULT put_defaultCharset(BSTR);
179     HRESULT get_defaultCharset(BSTR*);
180     HRESULT get_mimeType(BSTR*);
181     HRESULT get_fileSize(BSTR*);
182     HRESULT get_fileCreatedDate(BSTR*);
183     HRESULT get_fileModifiedDate(BSTR*);
184     HRESULT get_fileUpdatedDate(BSTR*);
185     HRESULT get_security(BSTR*);
186     HRESULT get_protocol(BSTR*);
187     HRESULT get_nameProp(BSTR*);
188     HRESULT write(SAFEARRAY*);
189     HRESULT writeln(SAFEARRAY*);
190     HRESULT open(BSTR,VARIANT,VARIANT,VARIANT,IDispatch*);
191     HRESULT close();
192     HRESULT clear();
193     HRESULT queryCommandSupported(BSTR,VARIANT_BOOL*);
194     HRESULT queryCommandEnabled(BSTR,VARIANT_BOOL*);
195     HRESULT queryCommandState(BSTR,VARIANT_BOOL*);
196     HRESULT queryCommandIndeterm(BSTR,VARIANT_BOOL*);
197     HRESULT queryCommandText(BSTR,BSTR*);
198     HRESULT queryCommandValue(BSTR,VARIANT*);
199     HRESULT execCommand(BSTR,VARIANT_BOOL,VARIANT,VARIANT_BOOL*);
200     HRESULT execCommandShowHelp(BSTR,VARIANT_BOOL*);
201     HRESULT createElement(BSTR,LPHTMLELEMENT*);
202     HRESULT put_onhelp(VARIANT);
203     HRESULT get_onhelp(VARIANT*);
204     HRESULT put_onclick(VARIANT);
205     HRESULT get_onclick(VARIANT*);
206     HRESULT put_ondblclick(VARIANT);
207     HRESULT get_ondblclick(VARIANT*);
208     HRESULT put_onkeyup(VARIANT);
209     HRESULT get_onkeyup(VARIANT*);
210     HRESULT put_onkeydown(VARIANT);
211     HRESULT get_onkeydown(VARIANT*);
212     HRESULT put_onkeypress(VARIANT);
213     HRESULT get_onkeypress(VARIANT*);
214     HRESULT put_onmouseup(VARIANT);
215     HRESULT get_onmouseup(VARIANT*);
216     HRESULT put_onmousedown(VARIANT);
217     HRESULT get_onmousedown(VARIANT*);
218     HRESULT put_onmousemove(VARIANT);
219     HRESULT get_onmousemove(VARIANT*);
220     HRESULT put_onmouseout(VARIANT);
221     HRESULT get_onmouseout(VARIANT*);
222     HRESULT put_onmouseover(VARIANT);
223     HRESULT get_onmouseover(VARIANT*);
224     HRESULT put_onreadystatechange(VARIANT);
225     HRESULT get_onreadystatechange(VARIANT*);
226     HRESULT put_onafterupdate(VARIANT);
227     HRESULT get_onafterupdate(VARIANT*);
228     HRESULT put_onrowexit(VARIANT);
229     HRESULT get_onrowexit(VARIANT*);
230     HRESULT put_onrowenter(VARIANT);
231     HRESULT get_onrowenter(VARIANT*);
232     HRESULT put_ondragstart(VARIANT);
233     HRESULT get_ondragstart(VARIANT*);
234     HRESULT put_onselectstart(VARIANT);
235     HRESULT get_onselectstart(VARIANT*);
236     HRESULT elementFromPoint(LONG,LONG,LPHTMLELEMENT*);
237     HRESULT get_parentWindow(LPHTMLWINDOW2*);
238     HRESULT get_styleSheets(LPHTMLSTYLESHEETSCOLLECTION*);
239     HRESULT put_onbeforeupdate(VARIANT);
240     HRESULT get_onbeforeupdate(VARIANT*);
241     HRESULT put_onerrorupdate(VARIANT);
242     HRESULT get_onerrorupdate(VARIANT*);
243     HRESULT toString(BSTR*);
244     HRESULT createStyleSheet(BSTR,LONG,LPHTMLSTYLESHEET*);
245 }
246 
247 interface IHTMLSelectionObject : IDispatch {
248     HRESULT createRange(IDispatch*);
249     HRESULT empty();
250     HRESULT clear();
251     HRESULT get_type(BSTR*);
252 }
253 alias IHTMLSelectionObject LPHTMLSELECTIONOBJECT;
254 
255 interface IHTMLTxtRange : IDispatch {
256     HRESULT get_htmlText(BSTR*);
257     HRESULT put_text(BSTR);
258     HRESULT get_text(BSTR*);
259     HRESULT parentElement(LPHTMLELEMENT*);
260     HRESULT duplicate(IHTMLTxtRange*);
261     HRESULT inRange(IHTMLTxtRange,VARIANT_BOOL*);
262     HRESULT isEqual(IHTMLTxtRange,VARIANT_BOOL*);
263     HRESULT scrollIntoView(VARIANT_BOOL);
264     HRESULT collapse(VARIANT_BOOL);
265     HRESULT expand(BSTR,VARIANT_BOOL*);
266     HRESULT move(BSTR,LONG,LONG*);
267     HRESULT moveStart(BSTR,LONG,LONG*);
268     HRESULT moveEnd(BSTR,LONG,LONG*);
269     HRESULT select();
270     HRESULT pasteHTML(BSTR);
271     HRESULT moveToElementText(LPHTMLELEMENT);
272     HRESULT setEndPoint(BSTR,IHTMLTxtRange);
273     HRESULT compareEndPoints(BSTR,IHTMLTxtRange,LONG*);
274     HRESULT findText(BSTR,LONG,LONG,VARIANT_BOOL*);
275     HRESULT moveToPoint(LONG,LONG);
276     HRESULT getBookmark(BSTR*);
277     HRESULT moveToBookbark(BSTR,VARIANT_BOOL*);
278     HRESULT queryCommandSupported(BSTR,VARIANT_BOOL*);
279     HRESULT queryCommandEnabled(BSTR,VARIANT_BOOL*);
280     HRESULT queryCommandState(BSTR,VARIANT_BOOL*);
281     HRESULT queryCommandIndeterm(BSTR,VARIANT_BOOL*);
282     HRESULT queryCommandText(BSTR,BSTR*);
283     HRESULT queryCommandValue(BSTR,VARIANT*);
284     HRESULT execCommand(BSTR,VARIANT_BOOL,VARIANT,VARIANT_BOOL*);
285     HRESULT execCommandShowHelp(BSTR,VARIANT_BOOL*);
286 }
287 
288 interface IHTMLElement : IDispatch {
289     HRESULT setAttribute(BSTR,VARIANT,LONG);
290     HRESULT getAttribute(BSTR,LONG,VARIANT*);
291     HRESULT removeAttribute(BSTR,LONG,VARIANT_BOOL*);
292     HRESULT put_className(BSTR);
293     HRESULT get_className(BSTR*);
294     HRESULT put_id(BSTR);
295     HRESULT get_id(BSTR*);
296     HRESULT get_tagName(BSTR*);
297     HRESULT get_parentElement(LPHTMLELEMENT*);
298     HRESULT get_style(LPHTMLSTYLE*);
299     HRESULT put_onhelp(VARIANT);
300     HRESULT get_onhelp(VARIANT*);
301     HRESULT put_onclick(VARIANT);
302     HRESULT get_onclick(VARIANT*);
303     HRESULT put_ondblclick(VARIANT);
304     HRESULT get_ondblclick(VARIANT*);
305     HRESULT put_onkeydown(VARIANT);
306     HRESULT get_onkeydown(VARIANT*);
307     HRESULT put_onkeyup(VARIANT);
308     HRESULT get_onkeyup(VARIANT*);
309     HRESULT put_onkeypress(VARIANT);
310     HRESULT get_onkeypress(VARIANT*);
311     HRESULT put_onmouseout(VARIANT);
312     HRESULT get_onmouseout(VARIANT*);
313     HRESULT put_onmouseover(VARIANT);
314     HRESULT get_onmouseover(VARIANT*);
315     HRESULT put_onmousemove(VARIANT);
316     HRESULT get_onmousemove(VARIANT*);
317     HRESULT put_onmousedown(VARIANT);
318     HRESULT get_onmousedown(VARIANT*);
319     HRESULT put_onmouseup(VARIANT);
320     HRESULT get_onmouseup(VARIANT*);
321     HRESULT get_document(IDispatch*);
322     HRESULT put_title(BSTR);
323     HRESULT get_title(BSTR*);
324     HRESULT put_language(BSTR);
325     HRESULT get_language(BSTR*);
326     HRESULT put_onselectstart(VARIANT);
327     HRESULT get_onselectstart(VARIANT*);
328     HRESULT scrollIntoView(VARIANT);
329     HRESULT contains(LPHTMLELEMENT,VARIANT_BOOL*);
330     HRESULT get_source3Index(LONG*);
331     HRESULT get_recordNumber(VARIANT*);
332     HRESULT put_lang(BSTR);
333     HRESULT get_lang(BSTR*);
334     HRESULT get_offsetLeft(LONG*);
335     HRESULT get_offsetTop(LONG*);
336     HRESULT get_offsetWidth(LONG*);
337     HRESULT get_offsetHeight(LONG*);
338     HRESULT get_offsetParent(LPHTMLELEMENT*);
339     HRESULT put_innerHTML(BSTR);
340     HRESULT get_innerHTML(BSTR*);
341     HRESULT put_innerText(BSTR);
342     HRESULT get_innerText(BSTR*);
343     HRESULT put_outerHTML(BSTR);
344     HRESULT get_outerHTML(BSTR*);
345     HRESULT put_outerText(BSTR);
346     HRESULT get_outerText(BSTR*);
347     HRESULT insertAdjacentHTML(BSTR,BSTR);
348     HRESULT insertAdjacentText(BSTR,BSTR);
349     HRESULT get_parentTextEdit(LPHTMLELEMENT*);
350     HRESULT isTextEdit(VARIANT_BOOL*);
351     HRESULT click();
352     HRESULT get_filters(LPHTMLFILTERSCOLLECTION*);
353     HRESULT put_ondragstart(VARIANT);
354     HRESULT get_ondragstart(VARIANT*);
355     HRESULT toString(BSTR*);
356     HRESULT put_onbeforeupdate(VARIANT);
357     HRESULT get_onbeforeupdate(VARIANT*);
358     HRESULT put_onafterupdate(VARIANT);
359     HRESULT get_onafterupdate(VARIANT*);
360     HRESULT put_onerrorupdate(VARIANT);
361     HRESULT get_onerrorupdate(VARIANT*);
362     HRESULT put_onrowexit(VARIANT);
363     HRESULT get_onrowexit(VARIANT*);
364     HRESULT put_onrowenter(VARIANT);
365     HRESULT get_onrowenter(VARIANT*);
366     HRESULT put_ondatasetchanged(VARIANT);
367     HRESULT get_ondatasetchanged(VARIANT*);
368     HRESULT put_ondataavailable(VARIANT);
369     HRESULT get_ondataavailable(VARIANT*);
370     HRESULT put_ondatasetcomplete(VARIANT);
371     HRESULT get_ondatasetcomplete(VARIANT*);
372     HRESULT put_onfilterchange(VARIANT);
373     HRESULT get_onfilterchange(VARIANT*);
374     HRESULT get_children(IDispatch*);
375     HRESULT get_all(IDispatch*);
376 }
377 alias IHTMLElement LPHTMLELEMENT;
378 
379 interface IHTMLFramesCollection2 : IDispatch {
380     HRESULT item(VARIANT*,VARIANT*);
381     HRESULT get_length(LONG*);
382 }
383 
384 interface IHTMLWindow2 : IHTMLFramesCollection2 {
385     HRESULT get_frames(IHTMLFramesCollection2*);
386     HRESULT put_defaultStatus(BSTR);
387     HRESULT get_defaultStatus(BSTR*);
388     HRESULT put_status(BSTR);
389     HRESULT get_status(BSTR*);
390     HRESULT setTimeout(BSTR,LONG,VARIANT*,LONG*);
391     HRESULT clearTimeout(LONG);
392     HRESULT alert(BSTR);
393     HRESULT confirm(BSTR,VARIANT_BOOL*);
394     HRESULT prompt(BSTR,BSTR,VARIANT*);
395     HRESULT get_Image(LPHTMLIMAGEELEMENTFACTORY*);
396     HRESULT get_location(LPHTMLLOCATION*);
397     HRESULT get_history(LPOMHISTORY*);
398     HRESULT close();
399     HRESULT put_opener(VARIANT);
400     HRESULT get_opener(VARIANT*);
401     HRESULT get_navigator(LPOMNAVIGATOR*);
402     HRESULT put_name(BSTR);
403     HRESULT get_name(BSTR*);
404     HRESULT get_parent(LPHTMLWINDOW2*);
405     HRESULT open(BSTR,BSTR,BSTR,VARIANT_BOOL,LPHTMLWINDOW2*);
406     HRESULT get_self(LPHTMLWINDOW2*);
407     HRESULT get_top(LPHTMLWINDOW2*);
408     HRESULT get_window(LPHTMLWINDOW2*);
409     HRESULT navigate(BSTR);
410     HRESULT put_onfocus(VARIANT);
411     HRESULT get_onfocus(VARIANT*);
412     HRESULT put_onblur(VARIANT);
413     HRESULT get_onblur(VARIANT*);
414     HRESULT put_onload(VARIANT);
415     HRESULT get_onload(VARIANT*);
416     HRESULT put_onbeforeunload(VARIANT);
417     HRESULT get_onbeforeunload(VARIANT*);
418     HRESULT put_onunload(VARIANT);
419     HRESULT get_onunload(VARIANT*);
420     HRESULT put_onhelp(VARIANT);
421     HRESULT get_onhelp(VARIANT*);
422     HRESULT put_onerror(VARIANT);
423     HRESULT get_onerror(VARIANT*);
424     HRESULT put_onresize(VARIANT);
425     HRESULT get_onresize(VARIANT*);
426     HRESULT put_onscroll(VARIANT);
427     HRESULT get_onscroll(VARIANT*);
428     HRESULT get_document(IHTMLDocument2*);
429     HRESULT get_event(LPHTMLEVENTOBJ*);
430     HRESULT get__newEnum(IUnknown*);
431     HRESULT showModalDialog(BSTR,VARIANT*,VARIANT*,VARIANT*);
432     HRESULT showHelp(BSTR,VARIANT,BSTR);
433     HRESULT get_screen(LPHTMLSCREEN*);
434     HRESULT get_Option(LPHTMLOPTIONELEMENTFACTORY*);
435     HRESULT focus();
436     HRESULT get_closed(VARIANT_BOOL*);
437     HRESULT blur();
438     HRESULT scroll(long,long);
439     HRESULT get_clientInformation(LPOMNAVIGATOR*);
440     HRESULT setInterval(BSTR,long,VARIANT*,long*);
441     HRESULT clearInterval(long);
442     HRESULT put_offscreenBuffering(VARIANT);
443     HRESULT get_offscreenBuffering(VARIANT*);
444     HRESULT execScript(BSTR,BSTR,VARIANT*);
445     HRESULT toString(BSTR*);
446     HRESULT scrollBy(LONG,LONG);
447     HRESULT scrollTo(LONG,LONG);
448     HRESULT moveTo(LONG,LONG);
449     HRESULT moveBy(LONG,LONG);
450     HRESULT resizeTo(LONG,LONG);
451     HRESULT resizeBy(LONG,LONG);
452     HRESULT get_external(IDispatch*);
453 }
454 alias IHTMLWindow2 LPHTMLWINDOW2;
455 
456 interface IHTMLFrameBase : IDispatch {
457     HRESULT put_src(BSTR);
458     HRESULT get_src(BSTR*);
459     HRESULT put_name(BSTR);
460     HRESULT get_name(BSTR*);
461     HRESULT put_border(VARIANT);
462     HRESULT get_border(VARIANT*);
463     HRESULT put_frameBorder(BSTR);
464     HRESULT get_frameBorder(BSTR*);
465     HRESULT put_frameSpacing(VARIANT);
466     HRESULT get_frameSpacing(VARIANT*);
467     HRESULT put_marginWidth(VARIANT);
468     HRESULT get_marginWidth(VARIANT*);
469     HRESULT put_marginHeight(VARIANT);
470     HRESULT get_marginHeight(VARIANT*);
471     HRESULT put_noResize(VARIANT_BOOL);
472     HRESULT get_noResize(VARIANT_BOOL*);
473     HRESULT put_scrolling(BSTR);
474     HRESULT get_scrolling(BSTR*);
475 }
476 
477 interface IHTMLFrameBase2 : IDispatch {
478     HRESULT get_contentWindow(IHTMLWindow2*);
479     HRESULT put_onload(VARIANT);
480     HRESULT get_onload(VARIANT*);
481     HRESULT put_onreadystatechange(VARIANT);
482     HRESULT get_onreadystatechange(VARIANT*);
483     HRESULT get_readyState(BSTR*);
484     HRESULT put_allowTransparency(VARIANT_BOOL);
485     HRESULT get_allowTransparency(VARIANT_BOOL*);
486 }
487 
488 interface IHTMLFrameBase3 : IDispatch {
489     HRESULT put_longDesc(BSTR);
490     HRESULT get_longDesc(BSTR*);
491 }
492 
493 interface IHTMLBodyElement : IDispatch {
494     HRESULT put_background(BSTR);
495     HRESULT get_background(BSTR*);
496     HRESULT put_bgProperties(BSTR);
497     HRESULT get_bgProperties(BSTR*);
498     HRESULT put_leftMargin(VARIANT);
499     HRESULT get_leftMargin(VARIANT*);
500     HRESULT put_topMargin(VARIANT);
501     HRESULT get_topMargin(VARIANT*);
502     HRESULT put_rightMargin(VARIANT);
503     HRESULT get_rightMargin(VARIANT*);
504     HRESULT put_bottomMargin(VARIANT);
505     HRESULT get_bottomMargin(VARIANT*);
506     HRESULT put_noWrap(VARIANT_BOOL);
507     HRESULT get_noWrap(VARIANT_BOOL*);
508     HRESULT put_bgColor(VARIANT);
509     HRESULT get_bgColor(VARIANT*);
510     HRESULT put_text(VARIANT);
511     HRESULT get_text(VARIANT*);
512     HRESULT put_link(VARIANT);
513     HRESULT get_link(VARIANT*);
514     HRESULT put_vLink(VARIANT);
515     HRESULT get_vLink(VARIANT*);
516     HRESULT put_aLink(VARIANT);
517     HRESULT get_aLink(VARIANT*);
518     HRESULT put_onload(VARIANT);
519     HRESULT get_onload(VARIANT*);
520     HRESULT put_onunload(VARIANT);
521     HRESULT get_onunload(VARIANT*);
522     HRESULT put_scroll(BSTR);
523     HRESULT get_scroll(BSTR*);
524     HRESULT put_onselect(VARIANT);
525     HRESULT get_onselect(VARIANT*);
526     HRESULT put_onbeforeunload(VARIANT);
527     HRESULT get_onbeforeunload(VARIANT*);
528     HRESULT createTextRange(IHTMLTxtRange*);
529 }
530 
531 interface IHTMLBodyElement2 : IDispatch {
532     HRESULT put_onbeforeprint(VARIANT);
533     HRESULT get_onbeforeprint(VARIANT*);
534     HRESULT put_onafterprint(VARIANT);
535     HRESULT get_onafterprint(VARIANT*);
536 }