summaryrefslogtreecommitdiff
path: root/libphobos/libdruntime/core/sys/windows/mshtml.d
blob: d20c4bbb3047b0208ad2d8dbc4b6dbc95ede53fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
/**
 * Windows API header module
 *
 * Translated from MinGW Windows headers
 *
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)
 * Source: $(DRUNTIMESRC core/sys/windows/_mshtml.d)
 */
module core.sys.windows.mshtml;
version (Windows):

import core.sys.windows.basetyps, core.sys.windows.oaidl, core.sys.windows.unknwn,
  core.sys.windows.windef, core.sys.windows.wtypes;

// These are used in this file, but not defined in MinGW.
interface IHTMLStyleSheet {}
alias IHTMLStyle LPHTMLSTYLE;
alias IHTMLStyleSheet LPHTMLSTYLESHEET;
interface IHTMLLocation {}
alias IHTMLLocation LPHTMLLOCATION;
interface IHTMLFramesCollection {}
alias IHTMLFramesCollection LPHTMLFRAMESCOLLECTION;
interface IHTMLStyleSheetsCollection {}
alias IHTMLStyleSheetsCollection LPHTMLSTYLESHEETSCOLLECTION;
interface IHTMLStyle {}
interface IHTMLFiltersCollection {}
alias IHTMLFiltersCollection LPHTMLFILTERSCOLLECTION;
interface IOmHistory : IDispatch {
    HRESULT get_length(short* p);
    HRESULT back(VARIANT*);
    HRESULT forward(VARIANT*);
    HRESULT go(VARIANT*);
}
alias IOmHistory LPOMHISTORY;
interface IOmNavigator {}
alias IOmNavigator LPOMNAVIGATOR;
interface IHTMLImageElementFactory {}
alias IHTMLImageElementFactory LPHTMLIMAGEELEMENTFACTORY;
interface IHTMLEventObj {}
alias IHTMLEventObj LPHTMLEVENTOBJ;
interface IHTMLScreen {}
alias IHTMLScreen LPHTMLSCREEN;
interface IHTMLOptionElementFactory {}
alias IHTMLOptionElementFactory LPHTMLOPTIONELEMENTFACTORY;

interface IHTMLLinkElement : IDispatch {
    HRESULT put_href(BSTR);
    HRESULT get_href(BSTR*);
    HRESULT put_rel(BSTR);
    HRESULT get_rel(BSTR*);
    HRESULT put_rev(BSTR);
    HRESULT get_rev(BSTR*);
    HRESULT put_type(BSTR);
    HRESULT get_type(BSTR*);
    HRESULT get_readyState(BSTR*);
    HRESULT put_onreadystatechange(VARIANT);
    HRESULT get_onreadystatechange(VARIANT*);
    HRESULT put_onload(VARIANT);
    HRESULT get_onload(VARIANT*);
    HRESULT put_onerror(VARIANT);
    HRESULT get_onerror(VARIANT*);
    HRESULT get_styleSheet(LPHTMLSTYLESHEET*);
    HRESULT put_disabled(VARIANT_BOOL);
    HRESULT get_disabled(VARIANT_BOOL*);
    HRESULT put_media(BSTR);
    HRESULT get_media(BSTR*);
}
alias IHTMLLinkElement LPHTMLLINKELEMENT;

interface IHTMLImgElement : IDispatch {
    HRESULT put_isMap(VARIANT_BOOL);
    HRESULT get_isMap(VARIANT_BOOL*);
    HRESULT put_useMap(BSTR);
    HRESULT get_useMap(BSTR*);
    HRESULT get_mimeType(BSTR*);
    HRESULT get_fileSize(BSTR*);
    HRESULT get_fileCreatedDate(BSTR*);
    HRESULT get_fileModifiedDate(BSTR*);
    HRESULT get_fileUpdatedDate(BSTR*);
    HRESULT get_protocol(BSTR*);
    HRESULT get_href(BSTR*);
    HRESULT get_nameProp(BSTR*);
    HRESULT put_border(VARIANT);
    HRESULT get_border(VARIANT*);
    HRESULT put_vspace(LONG);
    HRESULT get_vspace(LONG*);
    HRESULT put_hspace(LONG);
    HRESULT get_hspace(LONG*);
    HRESULT put_alt(BSTR);
    HRESULT get_alt(BSTR*);
    HRESULT put_src(BSTR);
    HRESULT get_src(BSTR*);
    HRESULT put_lowsrc(BSTR);
    HRESULT get_lowsrc(BSTR*);
    HRESULT put_vrml(BSTR);
    HRESULT get_vrml(BSTR*);
    HRESULT put_dynsrc(BSTR);
    HRESULT get_dynsrc(BSTR*);
    HRESULT get_readyState(BSTR*);
    HRESULT get_complete(VARIANT_BOOL*);
    HRESULT put_loop(VARIANT);
    HRESULT get_loop(VARIANT*);
    HRESULT put_align(BSTR);
    HRESULT get_align(BSTR*);
    HRESULT put_onload(VARIANT);
    HRESULT get_onload(VARIANT*);
    HRESULT put_onerror(VARIANT);
    HRESULT get_onerror(VARIANT*);
    HRESULT put_onabort(VARIANT);
    HRESULT get_onabort(VARIANT*);
    HRESULT put_name(BSTR);
    HRESULT get_name(BSTR*);
    HRESULT put_width(LONG);
    HRESULT get_width(LONG*);
    HRESULT put_height(LONG);
    HRESULT get_height(LONG*);
    HRESULT put_start(BSTR);
    HRESULT get_start(BSTR*);
}
alias IHTMLImgElement LPHTMLIMGELEMENT;

interface IHTMLElementCollection : IDispatch {
    HRESULT toString(BSTR*);
    HRESULT put_length(LONG);
    HRESULT get_length(LONG*);
    HRESULT get__newEnum(IUnknown*);
    HRESULT item(VARIANT,VARIANT,IDispatch* pDisp);
    HRESULT tags(VARIANT,IDispatch* pdisp);
}
alias IHTMLElementCollection LPHTMLELEMENTCOLLECTION;

interface IHTMLDocument : IDispatch {
    HRESULT get_Script(IDispatch*);
}

interface IHTMLDocument2 : IHTMLDocument {
    HRESULT get_all(LPHTMLELEMENTCOLLECTION*);
    HRESULT get_body(LPHTMLELEMENT*);
    HRESULT get_activeElement(LPHTMLELEMENT*);
    HRESULT get_images(LPHTMLELEMENTCOLLECTION*);
    HRESULT get_applets(LPHTMLELEMENTCOLLECTION*);
    HRESULT get_links(LPHTMLELEMENTCOLLECTION*);
    HRESULT get_forms(LPHTMLELEMENTCOLLECTION*);
    HRESULT get_anchors(LPHTMLELEMENTCOLLECTION*);
    HRESULT put_title(BSTR);
    HRESULT get_title(BSTR*);
    HRESULT get_scripts(LPHTMLELEMENTCOLLECTION*);
    HRESULT put_designMode(BSTR);
    HRESULT get_designMode(BSTR*);
    HRESULT get_selection(LPHTMLSELECTIONOBJECT*);
    HRESULT get_readyState(BSTR*);
    HRESULT get_frames(IHTMLFramesCollection2*);
    HRESULT get_embeds(LPHTMLELEMENTCOLLECTION*);
    HRESULT get_plugins(LPHTMLELEMENTCOLLECTION*);
    HRESULT put_alinkColor(VARIANT);
    HRESULT get_alinkColor(VARIANT*);
    HRESULT put_bgColor(VARIANT);
    HRESULT get_bgColor(VARIANT*);
    HRESULT put_fgColor(VARIANT);
    HRESULT get_fgColor(VARIANT*);
    HRESULT put_linkColor(VARIANT);
    HRESULT get_linkColor(VARIANT*);
    HRESULT put_vlinkColor(VARIANT);
    HRESULT get_vlinkColor(VARIANT*);
    HRESULT get_referrer(BSTR*);
    HRESULT get_location(LPHTMLLOCATION*);
    HRESULT get_lastModified(BSTR*);
    HRESULT put_url(BSTR);
    HRESULT get_url(BSTR*);
    HRESULT put_domain(BSTR);
    HRESULT get_domain(BSTR*);
    HRESULT put_cookie(BSTR);
    HRESULT get_cookie(BSTR*);
    HRESULT put_expands(VARIANT_BOOL);
    HRESULT get_expands(VARIANT_BOOL*);
    HRESULT put_charset(BSTR);
    HRESULT get_charset(BSTR*);
    HRESULT put_defaultCharset(BSTR);
    HRESULT get_defaultCharset(BSTR*);
    HRESULT get_mimeType(BSTR*);
    HRESULT get_fileSize(BSTR*);
    HRESULT get_fileCreatedDate(BSTR*);
    HRESULT get_fileModifiedDate(BSTR*);
    HRESULT get_fileUpdatedDate(BSTR*);
    HRESULT get_security(BSTR*);
    HRESULT get_protocol(BSTR*);
    HRESULT get_nameProp(BSTR*);
    HRESULT write(SAFEARRAY*);
    HRESULT writeln(SAFEARRAY*);
    HRESULT open(BSTR,VARIANT,VARIANT,VARIANT,IDispatch*);
    HRESULT close();
    HRESULT clear();
    HRESULT queryCommandSupported(BSTR,VARIANT_BOOL*);
    HRESULT queryCommandEnabled(BSTR,VARIANT_BOOL*);
    HRESULT queryCommandState(BSTR,VARIANT_BOOL*);
    HRESULT queryCommandIndeterm(BSTR,VARIANT_BOOL*);
    HRESULT queryCommandText(BSTR,BSTR*);
    HRESULT queryCommandValue(BSTR,VARIANT*);
    HRESULT execCommand(BSTR,VARIANT_BOOL,VARIANT,VARIANT_BOOL*);
    HRESULT execCommandShowHelp(BSTR,VARIANT_BOOL*);
    HRESULT createElement(BSTR,LPHTMLELEMENT*);
    HRESULT put_onhelp(VARIANT);
    HRESULT get_onhelp(VARIANT*);
    HRESULT put_onclick(VARIANT);
    HRESULT get_onclick(VARIANT*);
    HRESULT put_ondblclick(VARIANT);
    HRESULT get_ondblclick(VARIANT*);
    HRESULT put_onkeyup(VARIANT);
    HRESULT get_onkeyup(VARIANT*);
    HRESULT put_onkeydown(VARIANT);
    HRESULT get_onkeydown(VARIANT*);
    HRESULT put_onkeypress(VARIANT);
    HRESULT get_onkeypress(VARIANT*);
    HRESULT put_onmouseup(VARIANT);
    HRESULT get_onmouseup(VARIANT*);
    HRESULT put_onmousedown(VARIANT);
    HRESULT get_onmousedown(VARIANT*);
    HRESULT put_onmousemove(VARIANT);
    HRESULT get_onmousemove(VARIANT*);
    HRESULT put_onmouseout(VARIANT);
    HRESULT get_onmouseout(VARIANT*);
    HRESULT put_onmouseover(VARIANT);
    HRESULT get_onmouseover(VARIANT*);
    HRESULT put_onreadystatechange(VARIANT);
    HRESULT get_onreadystatechange(VARIANT*);
    HRESULT put_onafterupdate(VARIANT);
    HRESULT get_onafterupdate(VARIANT*);
    HRESULT put_onrowexit(VARIANT);
    HRESULT get_onrowexit(VARIANT*);
    HRESULT put_onrowenter(VARIANT);
    HRESULT get_onrowenter(VARIANT*);
    HRESULT put_ondragstart(VARIANT);
    HRESULT get_ondragstart(VARIANT*);
    HRESULT put_onselectstart(VARIANT);
    HRESULT get_onselectstart(VARIANT*);
    HRESULT elementFromPoint(LONG,LONG,LPHTMLELEMENT*);
    HRESULT get_parentWindow(LPHTMLWINDOW2*);
    HRESULT get_styleSheets(LPHTMLSTYLESHEETSCOLLECTION*);
    HRESULT put_onbeforeupdate(VARIANT);
    HRESULT get_onbeforeupdate(VARIANT*);
    HRESULT put_onerrorupdate(VARIANT);
    HRESULT get_onerrorupdate(VARIANT*);
    HRESULT toString(BSTR*);
    HRESULT createStyleSheet(BSTR,LONG,LPHTMLSTYLESHEET*);
}

interface IHTMLSelectionObject : IDispatch {
    HRESULT createRange(IDispatch*);
    HRESULT empty();
    HRESULT clear();
    HRESULT get_type(BSTR*);
}
alias IHTMLSelectionObject LPHTMLSELECTIONOBJECT;

interface IHTMLTxtRange : IDispatch {
    HRESULT get_htmlText(BSTR*);
    HRESULT put_text(BSTR);
    HRESULT get_text(BSTR*);
    HRESULT parentElement(LPHTMLELEMENT*);
    HRESULT duplicate(IHTMLTxtRange*);
    HRESULT inRange(IHTMLTxtRange,VARIANT_BOOL*);
    HRESULT isEqual(IHTMLTxtRange,VARIANT_BOOL*);
    HRESULT scrollIntoView(VARIANT_BOOL);
    HRESULT collapse(VARIANT_BOOL);
    HRESULT expand(BSTR,VARIANT_BOOL*);
    HRESULT move(BSTR,LONG,LONG*);
    HRESULT moveStart(BSTR,LONG,LONG*);
    HRESULT moveEnd(BSTR,LONG,LONG*);
    HRESULT select();
    HRESULT pasteHTML(BSTR);
    HRESULT moveToElementText(LPHTMLELEMENT);
    HRESULT setEndPoint(BSTR,IHTMLTxtRange);
    HRESULT compareEndPoints(BSTR,IHTMLTxtRange,LONG*);
    HRESULT findText(BSTR,LONG,LONG,VARIANT_BOOL*);
    HRESULT moveToPoint(LONG,LONG);
    HRESULT getBookmark(BSTR*);
    HRESULT moveToBookbark(BSTR,VARIANT_BOOL*);
    HRESULT queryCommandSupported(BSTR,VARIANT_BOOL*);
    HRESULT queryCommandEnabled(BSTR,VARIANT_BOOL*);
    HRESULT queryCommandState(BSTR,VARIANT_BOOL*);
    HRESULT queryCommandIndeterm(BSTR,VARIANT_BOOL*);
    HRESULT queryCommandText(BSTR,BSTR*);
    HRESULT queryCommandValue(BSTR,VARIANT*);
    HRESULT execCommand(BSTR,VARIANT_BOOL,VARIANT,VARIANT_BOOL*);
    HRESULT execCommandShowHelp(BSTR,VARIANT_BOOL*);
}

interface IHTMLElement : IDispatch {
    HRESULT setAttribute(BSTR,VARIANT,LONG);
    HRESULT getAttribute(BSTR,LONG,VARIANT*);
    HRESULT removeAttribute(BSTR,LONG,VARIANT_BOOL*);
    HRESULT put_className(BSTR);
    HRESULT get_className(BSTR*);
    HRESULT put_id(BSTR);
    HRESULT get_id(BSTR*);
    HRESULT get_tagName(BSTR*);
    HRESULT get_parentElement(LPHTMLELEMENT*);
    HRESULT get_style(LPHTMLSTYLE*);
    HRESULT put_onhelp(VARIANT);
    HRESULT get_onhelp(VARIANT*);
    HRESULT put_onclick(VARIANT);
    HRESULT get_onclick(VARIANT*);
    HRESULT put_ondblclick(VARIANT);
    HRESULT get_ondblclick(VARIANT*);
    HRESULT put_onkeydown(VARIANT);
    HRESULT get_onkeydown(VARIANT*);
    HRESULT put_onkeyup(VARIANT);
    HRESULT get_onkeyup(VARIANT*);
    HRESULT put_onkeypress(VARIANT);
    HRESULT get_onkeypress(VARIANT*);
    HRESULT put_onmouseout(VARIANT);
    HRESULT get_onmouseout(VARIANT*);
    HRESULT put_onmouseover(VARIANT);
    HRESULT get_onmouseover(VARIANT*);
    HRESULT put_onmousemove(VARIANT);
    HRESULT get_onmousemove(VARIANT*);
    HRESULT put_onmousedown(VARIANT);
    HRESULT get_onmousedown(VARIANT*);
    HRESULT put_onmouseup(VARIANT);
    HRESULT get_onmouseup(VARIANT*);
    HRESULT get_document(IDispatch*);
    HRESULT put_title(BSTR);
    HRESULT get_title(BSTR*);
    HRESULT put_language(BSTR);
    HRESULT get_language(BSTR*);
    HRESULT put_onselectstart(VARIANT);
    HRESULT get_onselectstart(VARIANT*);
    HRESULT scrollIntoView(VARIANT);
    HRESULT contains(LPHTMLELEMENT,VARIANT_BOOL*);
    HRESULT get_source3Index(LONG*);
    HRESULT get_recordNumber(VARIANT*);
    HRESULT put_lang(BSTR);
    HRESULT get_lang(BSTR*);
    HRESULT get_offsetLeft(LONG*);
    HRESULT get_offsetTop(LONG*);
    HRESULT get_offsetWidth(LONG*);
    HRESULT get_offsetHeight(LONG*);
    HRESULT get_offsetParent(LPHTMLELEMENT*);
    HRESULT put_innerHTML(BSTR);
    HRESULT get_innerHTML(BSTR*);
    HRESULT put_innerText(BSTR);
    HRESULT get_innerText(BSTR*);
    HRESULT put_outerHTML(BSTR);
    HRESULT get_outerHTML(BSTR*);
    HRESULT put_outerText(BSTR);
    HRESULT get_outerText(BSTR*);
    HRESULT insertAdjacentHTML(BSTR,BSTR);
    HRESULT insertAdjacentText(BSTR,BSTR);
    HRESULT get_parentTextEdit(LPHTMLELEMENT*);
    HRESULT isTextEdit(VARIANT_BOOL*);
    HRESULT click();
    HRESULT get_filters(LPHTMLFILTERSCOLLECTION*);
    HRESULT put_ondragstart(VARIANT);
    HRESULT get_ondragstart(VARIANT*);
    HRESULT toString(BSTR*);
    HRESULT put_onbeforeupdate(VARIANT);
    HRESULT get_onbeforeupdate(VARIANT*);
    HRESULT put_onafterupdate(VARIANT);
    HRESULT get_onafterupdate(VARIANT*);
    HRESULT put_onerrorupdate(VARIANT);
    HRESULT get_onerrorupdate(VARIANT*);
    HRESULT put_onrowexit(VARIANT);
    HRESULT get_onrowexit(VARIANT*);
    HRESULT put_onrowenter(VARIANT);
    HRESULT get_onrowenter(VARIANT*);
    HRESULT put_ondatasetchanged(VARIANT);
    HRESULT get_ondatasetchanged(VARIANT*);
    HRESULT put_ondataavailable(VARIANT);
    HRESULT get_ondataavailable(VARIANT*);
    HRESULT put_ondatasetcomplete(VARIANT);
    HRESULT get_ondatasetcomplete(VARIANT*);
    HRESULT put_onfilterchange(VARIANT);
    HRESULT get_onfilterchange(VARIANT*);
    HRESULT get_children(IDispatch*);
    HRESULT get_all(IDispatch*);
}
alias IHTMLElement LPHTMLELEMENT;

interface IHTMLFramesCollection2 : IDispatch {
    HRESULT item(VARIANT*,VARIANT*);
    HRESULT get_length(LONG*);
}

interface IHTMLWindow2 : IHTMLFramesCollection2 {
    HRESULT get_frames(IHTMLFramesCollection2*);
    HRESULT put_defaultStatus(BSTR);
    HRESULT get_defaultStatus(BSTR*);
    HRESULT put_status(BSTR);
    HRESULT get_status(BSTR*);
    HRESULT setTimeout(BSTR,LONG,VARIANT*,LONG*);
    HRESULT clearTimeout(LONG);
    HRESULT alert(BSTR);
    HRESULT confirm(BSTR,VARIANT_BOOL*);
    HRESULT prompt(BSTR,BSTR,VARIANT*);
    HRESULT get_Image(LPHTMLIMAGEELEMENTFACTORY*);
    HRESULT get_location(LPHTMLLOCATION*);
    HRESULT get_history(LPOMHISTORY*);
    HRESULT close();
    HRESULT put_opener(VARIANT);
    HRESULT get_opener(VARIANT*);
    HRESULT get_navigator(LPOMNAVIGATOR*);
    HRESULT put_name(BSTR);
    HRESULT get_name(BSTR*);
    HRESULT get_parent(LPHTMLWINDOW2*);
    HRESULT open(BSTR,BSTR,BSTR,VARIANT_BOOL,LPHTMLWINDOW2*);
    HRESULT get_self(LPHTMLWINDOW2*);
    HRESULT get_top(LPHTMLWINDOW2*);
    HRESULT get_window(LPHTMLWINDOW2*);
    HRESULT navigate(BSTR);
    HRESULT put_onfocus(VARIANT);
    HRESULT get_onfocus(VARIANT*);
    HRESULT put_onblur(VARIANT);
    HRESULT get_onblur(VARIANT*);
    HRESULT put_onload(VARIANT);
    HRESULT get_onload(VARIANT*);
    HRESULT put_onbeforeunload(VARIANT);
    HRESULT get_onbeforeunload(VARIANT*);
    HRESULT put_onunload(VARIANT);
    HRESULT get_onunload(VARIANT*);
    HRESULT put_onhelp(VARIANT);
    HRESULT get_onhelp(VARIANT*);
    HRESULT put_onerror(VARIANT);
    HRESULT get_onerror(VARIANT*);
    HRESULT put_onresize(VARIANT);
    HRESULT get_onresize(VARIANT*);
    HRESULT put_onscroll(VARIANT);
    HRESULT get_onscroll(VARIANT*);
    HRESULT get_document(IHTMLDocument2*);
    HRESULT get_event(LPHTMLEVENTOBJ*);
    HRESULT get__newEnum(IUnknown*);
    HRESULT showModalDialog(BSTR,VARIANT*,VARIANT*,VARIANT*);
    HRESULT showHelp(BSTR,VARIANT,BSTR);
    HRESULT get_screen(LPHTMLSCREEN*);
    HRESULT get_Option(LPHTMLOPTIONELEMENTFACTORY*);
    HRESULT focus();
    HRESULT get_closed(VARIANT_BOOL*);
    HRESULT blur();
    HRESULT scroll(long,long);
    HRESULT get_clientInformation(LPOMNAVIGATOR*);
    HRESULT setInterval(BSTR,long,VARIANT*,long*);
    HRESULT clearInterval(long);
    HRESULT put_offscreenBuffering(VARIANT);
    HRESULT get_offscreenBuffering(VARIANT*);
    HRESULT execScript(BSTR,BSTR,VARIANT*);
    HRESULT toString(BSTR*);
    HRESULT scrollBy(LONG,LONG);
    HRESULT scrollTo(LONG,LONG);
    HRESULT moveTo(LONG,LONG);
    HRESULT moveBy(LONG,LONG);
    HRESULT resizeTo(LONG,LONG);
    HRESULT resizeBy(LONG,LONG);
    HRESULT get_external(IDispatch*);
}
alias IHTMLWindow2 LPHTMLWINDOW2;

interface IHTMLFrameBase : IDispatch {
    HRESULT put_src(BSTR);
    HRESULT get_src(BSTR*);
    HRESULT put_name(BSTR);
    HRESULT get_name(BSTR*);
    HRESULT put_border(VARIANT);
    HRESULT get_border(VARIANT*);
    HRESULT put_frameBorder(BSTR);
    HRESULT get_frameBorder(BSTR*);
    HRESULT put_frameSpacing(VARIANT);
    HRESULT get_frameSpacing(VARIANT*);
    HRESULT put_marginWidth(VARIANT);
    HRESULT get_marginWidth(VARIANT*);
    HRESULT put_marginHeight(VARIANT);
    HRESULT get_marginHeight(VARIANT*);
    HRESULT put_noResize(VARIANT_BOOL);
    HRESULT get_noResize(VARIANT_BOOL*);
    HRESULT put_scrolling(BSTR);
    HRESULT get_scrolling(BSTR*);
}

interface IHTMLFrameBase2 : IDispatch {
    HRESULT get_contentWindow(IHTMLWindow2*);
    HRESULT put_onload(VARIANT);
    HRESULT get_onload(VARIANT*);
    HRESULT put_onreadystatechange(VARIANT);
    HRESULT get_onreadystatechange(VARIANT*);
    HRESULT get_readyState(BSTR*);
    HRESULT put_allowTransparency(VARIANT_BOOL);
    HRESULT get_allowTransparency(VARIANT_BOOL*);
}

interface IHTMLFrameBase3 : IDispatch {
    HRESULT put_longDesc(BSTR);
    HRESULT get_longDesc(BSTR*);
}

interface IHTMLBodyElement : IDispatch {
    HRESULT put_background(BSTR);
    HRESULT get_background(BSTR*);
    HRESULT put_bgProperties(BSTR);
    HRESULT get_bgProperties(BSTR*);
    HRESULT put_leftMargin(VARIANT);
    HRESULT get_leftMargin(VARIANT*);
    HRESULT put_topMargin(VARIANT);
    HRESULT get_topMargin(VARIANT*);
    HRESULT put_rightMargin(VARIANT);
    HRESULT get_rightMargin(VARIANT*);
    HRESULT put_bottomMargin(VARIANT);
    HRESULT get_bottomMargin(VARIANT*);
    HRESULT put_noWrap(VARIANT_BOOL);
    HRESULT get_noWrap(VARIANT_BOOL*);
    HRESULT put_bgColor(VARIANT);
    HRESULT get_bgColor(VARIANT*);
    HRESULT put_text(VARIANT);
    HRESULT get_text(VARIANT*);
    HRESULT put_link(VARIANT);
    HRESULT get_link(VARIANT*);
    HRESULT put_vLink(VARIANT);
    HRESULT get_vLink(VARIANT*);
    HRESULT put_aLink(VARIANT);
    HRESULT get_aLink(VARIANT*);
    HRESULT put_onload(VARIANT);
    HRESULT get_onload(VARIANT*);
    HRESULT put_onunload(VARIANT);
    HRESULT get_onunload(VARIANT*);
    HRESULT put_scroll(BSTR);
    HRESULT get_scroll(BSTR*);
    HRESULT put_onselect(VARIANT);
    HRESULT get_onselect(VARIANT*);
    HRESULT put_onbeforeunload(VARIANT);
    HRESULT get_onbeforeunload(VARIANT*);
    HRESULT createTextRange(IHTMLTxtRange*);
}

interface IHTMLBodyElement2 : IDispatch {
    HRESULT put_onbeforeprint(VARIANT);
    HRESULT get_onbeforeprint(VARIANT*);
    HRESULT put_onafterprint(VARIANT);
    HRESULT get_onafterprint(VARIANT*);
}